-1

以下は、問題を引き起こしている私のデータベースメソッドです:

 public Cursor fetchRecord(String pin,String category)throws SQLException
{

Cursor c=mDb.query(DATABASE_TABLE, new String[]
{KEY_ROWID,KEY_NAME,KEY_PHONE,KEY_CATEGORY,KEY_PINCODE},
KEY_PINCODE + "= ?" + "AND" + KEY_CATEGORY + "= ?",
new String[]{pin,category}, null, null, KEY_NAME);

    if (c!= null) {
        c.moveToFirst();
    }
    return c;
}

ログ猫が言う最初のアクティビティで入力して[実行]ボタンをクリックすると、強制的に閉じます。

Caused by: android.database.sqlite.SQLiteException: near "ANDcategory": syntax error: , while compiling: SELECT _id, name, phone, category, pincode FROM details WHERE pincode= ?ANDcategory= ? ORDER BY name
4

2 に答える 2

1

where句では、ピンコードとカテゴリの間にスペースが必要です。

単純に置き換える

"AND"

" AND "


public Cursor fetchRecord(String pin,String category)throws SQLException 
{ 

        Cursor c=mDb.query(DATABASE_TABLE, new String[]
 {KEY_ROWID,KEY_NAME,KEY_PHONE,KEY_CATEGORY,KEY_PINCODE},
KEY_PINCODE + "= ?" + 
" AND " + KEY_CATEGORY + "= ?",new String[]{pin,category}, null, null, KEY_NAME); 

    if (c!= null) { 
        c.moveToFirst(); 
    } 
    return c; 
}
于 2012-09-30T08:07:33.250 に答える
0

例外を読むと、知っておくべきことがすべてわかります。

syntax error: , while compiling: SELECT _id, name, phone, category, pincode FROM details WHERE pincode= ?ANDcategory= ? ORDER BY name
于 2012-09-30T07:14:36.187 に答える