如何在android上添加WHERE子句进行查询
我想把结果限制在那些KEY_HOMEID等于journalId的人身上。 这件事我已经谈了几天了,如果有任何帮助,我将不胜感激如何在android上添加WHERE子句进行查询,android,sqlite,where-clause,Android,Sqlite,Where Clause,我想把结果限制在那些KEY_HOMEID等于journalId的人身上。 这件事我已经谈了几天了,如果有任何帮助,我将不胜感激 public游标fetchAllNotes(字符串journalId) { 返回mDb.query(数据库_表,新字符串[]{KEY_ROWID,KEY_HEIGHT, KEY_BODY,KEY_HOMEID},“来自数据库_表,其中KEY_HOMEID=journalId”,null,null,null,null); } 看一看 您的查询应该有点像这样: mDb.q
public游标fetchAllNotes(字符串journalId)
{
返回mDb.query(数据库_表,新字符串[]{KEY_ROWID,KEY_HEIGHT,
KEY_BODY,KEY_HOMEID},“来自数据库_表,其中KEY_HOMEID=journalId”,null,null,null,null);
}
看一看
您的查询应该有点像这样:
mDb.query(DATABASE_TABLE, // Table name
columnNames, // String[] containing your column names
KEY_HOMEID+" = "+jounalId, // your where statement, you do not include the WHERE or the FROM DATABASE_TABLE parts of the query,
null,
null,
null,
null
);
如果您觉得编写sql查询更方便,还可以使用:
mDb.rawQuery("SQL STATEMENT", null);
我也在寻找我的问题的答案 结果是我试图用字符串代替整数。我的解决方案是这样做:“字符串”而不是整数 下面是最终对我有用的代码:
return db.query(TABLE_NAME_REMINDER, PROJECTION, REMINDER_REMINDER_TYPE+" = '"+rem_type+"'", null, null, null, null);
如果在参数(在查询参数中)处使用它,代码将更加清晰 例如:
谢谢作品我没有意识到SQL语句只能在rawQUery中使用。另请参见我对您之前(几乎相同)问题的回答:)如果可能,请避免使用“rawQUery”。我不能使用
userId.toString()
,而使用了Integer.toString(userId)
String [] settingsProjection = {
DBContract.Settings._ID,
DBContract.Settings.COLUMN_NAME_USER_ID,
DBContract.Settings.COLUMN_NAME_AUTO_LOGIN
};
String whereClause = DBContract.Settings.COLUMN_NAME_USER_ID+"=?";
String [] whereArgs = {userId.toString()};
Cursor c = db.query(
DBContract.Settings.TABLE_NAME,
settingsProjection,
whereClause,
whereArgs,
null,
null,
null
);