Ich möchte eine Abfrage wie folgt auszuführen:Android Anführungszeichen innerhalb einer SQL-Abfrage-String
uvalue = EditText(some user value);
p_query = "select * from mytable where name_field = '" + uvalue + "'" ;
mDb.rawQuery(p_query, null);
, wenn der Benutzer einen Apostroph in ihrem Eingang betritt stürzt. Wenn Sie es ändern in:
p_query = "select * from mytable where name_field = \"" + uvalue + "\"" ;
stürzt es ab, wenn der Benutzer ein Doppelzitat in ihre Eingabe eingibt. und natürlich konnten sie immer sowohl einfache als auch doppelte Anführungszeichen eingeben.
p_query = "select * from mytable where name_field = ?";
mDb.rawQuery(p_query, new String[] { uvalue });
Dies löst nicht nur Ihre Angebote Problem, sondern mildert auch SQL Injection
:
miannelle Besuche diese verwandten Fragen: http://stackoverflow.com/questions/29699/how-do-i-deal-with-quotes-in-sql http://stackoverflow.co m/questions/387198/escape-double-quotes-in-sql-2005-2008 –
miannelle: Sie sollten einige Ihrer Fragen als "geantwortet" markieren – Kurru