我想将字符串匹配到表的任何3列,第4列必须等于SQlite数据库表中的某个字符串。例如,让我们取3列:first_name,middle_name,last_name这些列中的任何一列等于=" String"第4列:年龄= 20.但是下面的查询重新运行" null",请帮助解决问题。
Cursor cursor = db.query(TABLE_ONE, new String[] { KEY_FNAME, KEY_MNAME, KEY_LNAME }, KEY_FNAME + "=? OR " + KEY_MNAME + "=? OR " + KEY_LNAME + "=? AND " + KEY_AGE + "=?",
new String[] { string , string, string, "20"}, null, null, null, null);
编辑: 我也试过原始查询,但没有工作:
String query = "SELECT * FROM table_one WHERE (" +
"fname = '"+string1+"' OR mname = '"+string1+"' OR lname = '"+string1+"') AND age ='20'";
Cursor cursor = db.rawQuery(query,null);
答案 0 :(得分:0)
尝试在括号中包装OR语句:
"(" + KEY_FNAME + "=? OR " + KEY_MNAME + "=? OR " + KEY_LNAME + "=?) AND " + KEY_AGE + "=?"