Ich speichere eine SQL-Abfrage in meiner Datei strings.xml, und ich möchte Folgendes verwenden String.Format
um die endgültige Zeichenkette im Code zu erstellen. Die SELECT
Anweisung verwendet ein like, etwa so:
SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE '%something%'
Um das zu formatieren, ersetze ich "etwas" durch %1$s, so dass es zu "etwas" wird:
SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE \'%%1$s%\'
Ich entferne die einfachen Anführungszeichen mit einem Backslash. Ich bin jedoch nicht in der Lage, das %-Zeichen zu entschlüsseln.
Wie kann ich eine like-Anweisung in meine strings.xml-Datei einfügen?
0 Stimmen
Vergessen Sie nicht, die %s richtig zu entschlüsseln.
36 Stimmen
SQL-Injection-Warnung . Bereiten Sie sich vor .
0 Stimmen
Sie würden in ihre eigene Datenbank einspeisen, das ist hier kein Problem ;)
8 Stimmen
Auch wenn es sich um Ihre eigene Datenbank handelt, ist es möglich, versehentlich Abfragen zu schreiben, die schlechte Dinge tun. Oder einfach Abfragen schreiben, die nicht kompiliert werden können. Die Vorbereitung von Abfragen ist eine gute Angewohnheit, die man sich angewöhnen sollte.
0 Stimmen
Obwohl es langsamer ist als
String.format()
könnten Sie Folgendes in Betracht ziehenMessageFormat()
stattdessen.