0

私のアプリでは、データベースに追加したいくつかの値を読み取り、それらをスピナーに挿入します。必要な値を削除したいのですが、エラーメッセージが表示され、その名前の列がありません。私のスピナーは値でいっぱいですが。エラーメッセージ:

android.database.sqlite.SQLiteException: no such column: bmw (code 1), while compiling: DELETE FROM MyCars WHERE MyCarsBrand=bmw at android.database.sqlite.SQLiteConnection.nativePrepareStatement

これが私のコードです:

            if (db.deleteTitle(deleteSpinner.getSelectedItem().toString()))
                Toast.makeText(DeleteCarActivity.this,
                        "Delete successful.", Toast.LENGTH_LONG).show();
            else
                Toast.makeText(DeleteCarActivity.this, "Delete failed.",
                        Toast.LENGTH_LONG).show();
            db.close();

他のクラス

    public boolean deleteTitle(String rowId) 
    {
        return db.delete(MY_CARS_TABLE, MY_CARS_BRAND_COLUMN + 
                "=" + rowId, null) > 1;
    }
4

1 に答える 1

1

交換

return db.delete(MY_CARS_TABLE, MY_CARS_BRAND_COLUMN + 
                "=" + rowId, null) > 1;

return db.delete(MY_CARS_TABLE, MY_CARS_BRAND_COLUMN + 
                "='" + rowId + "'", null) > 1;

文字列引数の周りに''が必要です。

于 2013-01-22T06:34:04.433 に答える