SQLite查询比较内容值

时间:2015-03-12 22:07:35

标签: android android-fragments android-listview android-sqlite

如何比较列内容值?因此,如果内容值包含" 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

1 个答案:

答案 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});