获取数据-sqlite和android
当我写作时获取数据-sqlite和android,android,sqlite,Android,Sqlite,当我写作时 Cursor c = customersDB.rawQuery("SELECT Name, Street, Block, City FROM " + TABLE_NAME + " where Name == 'VOLKSWAGEN '", null); 它的工作很好 但是: 出错。您需要将变量用单引号括起来,并以分号结尾。
Cursor c = customersDB.rawQuery("SELECT Name, Street, Block, City FROM " +
TABLE_NAME +
" where Name == 'VOLKSWAGEN '", null);
它的工作很好
但是:
出错。您需要将变量用单引号括起来,并以分号结尾。我的建议是使用string.format,这样您的查询字符串
String.format("SELECT Name, Street, Block, City FROM %1$s WHERE Name == '%2$s';", TABLE_NAME, x)
另一种方法是
“从“+TABLE_Name+”中选择名称、街道、街区、城市,其中Name==”“+x+”;”,null)代码>如果可能,应始终使用参数:
String x="ll";
Cursor c = customersDB.rawQuery(
"SELECT Name, Street, Block, City FROM " + TABLE_NAME +
" WHERE Name == ?",
new String[]{ x });
这可以避免格式问题和攻击。如果字符串包含引号或控制字符,则此操作将失败。显然,您应该始终清理输入字符串。
String x="ll";
Cursor c = customersDB.rawQuery(
"SELECT Name, Street, Block, City FROM " + TABLE_NAME +
" WHERE Name == ?",
new String[]{ x });