0
name = namebox.getText().toString();
db.open();
Cursor c1 = db.executequery("SELECT _id FROM " + DATABASE_TABLE_CUSTOMER + " where name='" +name+"'" );
_id = c1.getInt(c1.getColumnIndex("name"));
Cursor c2 = db.executequery("SELECT amount FROM " + DATABASE_TABLE_CUSTOMER
        +
        " where _id=" + _id);
Double amount = c2.getDouble(c2.getColumnIndex("amount"));
Cursor c3 = db.executequery("SELECT arrear FROM " + DATABASE_TABLE_CUSTOMER + " where CUSTOMER_ID =" + _id);
arrear = c3.getDouble(c3.getColumnIndex("arrear"));
db.close();

これにより、フィールド エラーの不適切なリクエストが返されます。私のアダプターのメソッド executequery は次のようになります。

public Cursor executequery(String query) throws SQLException
{
    Cursor mCursor = db.rawQuery(query, null);
    if(mCursor != null){
        mCursor.moveToFirst();
    }
    return mCursor;
}

誰かが私が間違っていることを教えてください。私はこれが初めてです。

4

1 に答える 1

0

を扱うときに一貫性がありませんCursor1getColumnIndex("name")名前ではなく ID が選択されているため、成功できません。読む必要がありますgetColumnIndex("_id")

于 2012-07-03T21:49:51.367 に答える