我需要在sqlite(Android)中执行一个看起来像
的查询从表格中选择*,其中name1 =" name"或name2 =" name"或name3 =" name"
我的代码是:
String where = SYMPTOM1 + "= \"" + symp1 + "\" " + "or "
+ SYMPTOM2 + " = \" " + symp1 + " \" " + "or " + SYMPTOM3 + " = \" "
+ symp1 + " \" ";
cursor = mDb.query(false, TABLE_NAME, COLUMNS, where, null, null,
null, null, null);
此代码检索name1 = name的值...该部分或部分未执行。
答案 0 :(得分:1)
您正在为name2和name3值插入额外的空格,如下所示:
"\" " + symp1 + " \""
注意symp1
与结束报价之间的空格。
要修复它和其他一些问题,请考虑使用?
占位符和绑定参数,例如
String where = SYMPTOM1 + "= ? or "
+ SYMPTOM2 + " = ? or " + SYMPTOM3 + " = ?";
String whereArgs[] = new String[] { symp1, symp1, symp1 };
cursor = mDb.query(false, TABLE_NAME, COLUMNS, where, whereArgs, null,
null, null, null);