2013-10-14 4 views
0

Je ne pouvais pas trouver un titre parfait pour le problème mais ici il vient .. Est-il un moyen dans lequel une chaîne "bonjour" peut être changé en un «bonjour» en Java (Android) ?? C'est pour faire fonctionner ma requête sql. Par exemple, voici ma fonction écrite en java pour une application AndroidConversion d'une chaîne en tableau char

public Cursor GetLecture(String course_code) 
{ 
    SQLiteDatabase sqldb = this.getReadableDatabase(); 
    String query = "SELECT * FROM Lecture WHERE course_code =" + course_code; 
    Cursor C = sqldb.rawQuery(query, null); 
    return C; 
} 

Le problème ici est que ce que le besoin est pour la requête de la valeur course_code être par exemple « S11'and pas « S11 » que le variable course_code a comme une chaîne ... Comment puis-je changer la valeur de la chaîne qui a double quote ("") en guillemets simples ('') pour que la requête fonctionne? Y at-il un moyen plus court ou je dois changer l'algorithme entier ?? Merci d'avance pour l'examen !!

Répondre

1

Il existe une construction spéciale pour faire les valeurs dans la requête:

p_query = "select * from mutable where name_field = ?"; 
mDb.rawQuery(p_query, new String[] { fieldValue }); 

ou vous pouvez simplement ajouter des symboles d'échappement et des citations

String query = "SELECT * FROM Lecture WHERE course_code = \"" + DatabaseUtils.sqlEscapeString(course_code) + "\""; 

d'ici:

Android quotes within an sql query string

2

Les chaînes sont des séquences de caractères délimitées par des guillemets. Vous ne pouvez pas les délimiter par des guillemets simples. Ce sont pour les personnages. Celui-ci est en Java.

En cas de requête SQL, mettre la chaîne entre guillemets simples, vous pouvez le faire comme ceci:

String query = "SELECT * FROM Lecture WHERE course_code = '" + course_code + "'"; 
+0

exactement la réponse que je cherchais, problème résolu, merci !! – user2878050

2

Si vous réécrivez:

String query = "SELECT * FROM Lecture WHERE course_code =" + course_code; 

comme

String query = "SELECT * FROM Lecture WHERE course_code ='" + course_code + "'";