0

我正在android中开发一个应用程序,在这里我想从表中获取数据rowIdsubjectId但是我收到了这个错误,

The method query(boolean, String, String[], String, String[], String, String, String, String) in the type SQLiteDatabase is not applicable for the arguments 
(boolean, String, String[], String, String, null, null, null, null)

这是那个查询,

public Cursor getText(long rowId, long subId) throws SQLException 
{
Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] {
        KEY_id, KEY_ques,KEY_correctans,KEY_wrongans1,KEY_wrongans2,KEY_wrongans3,KEY_subject,KEY_subjectid }, KEY_id + "="
        + rowId, KEY_subjectid + "=" + subId,null,null, null,null);
if (mCursor != null) 
{
    mCursor.moveToFirst();
}
return mCursor;
}

我想获取表数据作为 where subId=KEY_subjectidrowId=KEY_id

如果这个问题有什么不清楚的地方,请问我。如果它清楚请帮助我..

提前致谢。

4

2 回答 2

1

将查询更改为以下内容:

Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] {
        KEY_id, KEY_ques,KEY_correctans,KEY_wrongans1,KEY_wrongans2,KEY_wrongans3,KEY_subject,KEY_subjectid }, KEY_id + "="
        + rowId + " AND " + KEY_subjectid + "=" + subId,null, null,null, null,null);

第 5 个参数需要是一个字符串数组,而不是你所拥有的字符串。第 4 个参数是WHERESQLite 子句。

于 2013-09-25T06:38:05.593 回答
0

这样做

public Cursor getText(long rowId, long subId) throws SQLException 
    {
    Cursor mCursor = db.rawQuery("select * from "+DATABASE_TABLE+" where KEY_subjectid="+subId+" and KEY_id="+rowId+"",null);
    if (mCursor != null) 
    {
        mCursor.moveToFirst();
    }
    return mCursor;
    }
于 2013-09-25T06:39:49.003 回答