0

SQLiteデータベース(android)の値を更新するには、次の方法を使用します。テーブルはオブジェクトを呼び出します。更新するフィールドは、特定のIDとレベルを持つ特定のアイテムのshowinfo1です。

public void insertString(int id, int level, String field, String value){

        myDataBase.execSQL("UPDATE OBJECTS SET " + field + "=" + value + " WHERE _ID=" + id + " AND LEVEL =" + level);

    }

奇妙だと思うエラーがあります。実際には1つあるのに、「そのような列はない」と表示されます。

android.database.sqlite.SQLiteException: no such column: true: UPDATE OBJECTS set showinfo1=true WHERE _ID=6 AND LEVEL =1

これを解決する方法はありますか?たぶん私のクエリは間違っていますか?

4

2 に答える 2

1

SQLiteには個別のブールストレージタイプがありませんでした。代わりに、ブール値は整数0(false)または1(true)として格納する必要があります。

于 2012-09-24T14:54:37.567 に答える
1

クエリは次のようになります

public void insertString(int id, int level, String field, String value){

    myDataBase.execSQL("UPDATE OBJECTS SET " + field + "='" + value + "' WHERE _ID=" + id + " AND LEVEL =" + level);

}

あなたの文字列はに翻訳されてUPDATE OBJECTS SET URFIELD = true ...おり、という名前の列を検索しているtrueので、次のようになりますURFIELD = 'true'(同じようにIDなります)LEVELtext

于 2012-09-24T14:59:00.217 に答える