0

現在、Android データベースからデータ行を削除しようとしていますが、異常なエラーが発生しています。行は、名前が Timetable のテーブルで次のようになります

_ID = (自動インクリメント)、MODULE = CM111、DAY = MONDAY、STARTTIME = 13:00、DURATION = 4 時間、TYPEOFSESSION = LAB、ROOM = PBS2

このコードを削除に使用しています

private int removeEvent (String modulecodepicker){
    try{
    SQLiteDatabase db = events.getWritableDatabase();
    return db.delete(TABLE_NAME, MODULE + " = " + modulecodepicker, null);
    }catch(SQLiteException ex){
        Toast toast = Toast.makeText(this, "Broken", 10);
        toast.show();
    }
    return 0;
}

これはこのSQLエラーを返しています

android.database.sqlite.SQLiteException: そのような列はありません: CM111: 、コンパイル中: DELETE FROM timetable WHERE モジュール = CM111

ありがとう

4

2 に答える 2

0

上記のストア プロシージャを作成すると、はるかに安全で簡単になります。

一方、SQLインジェクションを起こしやすいインラインを使用する

sql liteでのprocsの書き方は参考にしてください

http://chriswolf.heroku.com/articles/2011/01/26/adding-stored-procedures-to-sqlite

于 2012-04-23T11:22:57.973 に答える
0

SELECT 'CM111' from timetable最初にステートメントでクロスチェックしてください。それが機能しない場合、DELETE が機能しないことは明らかです。

于 2012-04-23T11:37:00.160 に答える