如何比较列内容值?因此,如果内容值包含" ted"返回光标中的所有数据。
public Cursor listNotes() {
String username = session.getUser();
String query = "SELECT * FROM Task WHERE " +help.Column_owner+ " = " +username ;
Cursor c = db.rawQuery(query, null);
return c;
}
以下是错误,我正在尝试将用户名与column_create中的内容值进行比较但是它无法正常工作
no such column: ted (code 1): , while compiling: SELECT * FROM Notes WHERE column_owner = ted
答案 0 :(得分:0)
username
必须用撇号(' )括起来,因为它是字符串!
像这样纠正你的代码:
String query = "SELECT * FROM Task WHERE " + help.Column_owner + " = '" +username + "'";
或者,更好,使用绑定参数(在这种情况下,Android会为您处理撇号,并且您不太容易进行SQL注入 - 最后但并非最不重要的是,你使用较少的字符串连接):
String query = "SELECT * FROM Task WHERE " + help.Column_owner + " = ?";
Cursor c = db.rawQuery(query, new String[]{username});