Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android上添加WHERE子句进行查询_Android_Sqlite_Where Clause - Fatal编程技术网

如何在android上添加WHERE子句进行查询

如何在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

我想把结果限制在那些KEY_HOMEID等于journalId的人身上。 这件事我已经谈了几天了,如果有任何帮助,我将不胜感激

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
        );