0
String[] columns = new String[]{ KEY_NAME, KEY_NUM };
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_NAME + "=" + name, null, null, null, null); 

这是我用来返回与我传入的特定字符串(即名称)匹配的那些列的代码。但是,这不起作用。此外,如果我将 'where' 子句替换为 null,则所有行都将正确返回。请帮忙。谢谢!

因此,源表行是

public static final String KEY_ROWID = "_id";
public static final String KEY_NAME = "surveyString";
public static final String KEY_NUM = "numOfQuestions";
4

3 回答 3

1

您应该将 where 值传递给查询中的“selectionArgs”参数。

Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_NAME + "=?", new String[]{name}, null, null, null);

于 2013-09-02T00:19:41.367 回答
0

你试过放在'变量之间吗?

Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_NAME + "='" + name + "'", null, null, null, null); 
于 2013-09-02T01:47:26.347 回答
0
public void addUserNotes(String notes,int id){
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();

    values.put(KEY_NOTES, notes);// Contact Phone Number
    db.insert(TABLE_CONTACTS, null, values);
    String s=Integer.toString(id);
    final String[] whereArgs = {s};
    db.update(TABLE_CONTACTS, values, "id = ?", whereArgs);
    db.close(); // Closing database connection
}
于 2014-12-10T09:24:27.983 回答