0

テーブル内の列の更新に問題があります。これらのソリューションの両方を試しました:

        this.openDataBase();
        String SQLStatement = "update " + TABLE_POSES;
        SQLStatement += " set " + COLUMN_SKIP + "=" + SKIP + " Where ";
        SQLStatement += COLUMN_ID + "=" + String.valueOf(skipPoseId);
        myDataBase.rawQuery(SQLStatement, null);
        this.close();

この:

        this.openDataBase();
        ContentValues args = new ContentValues();
        args.put(COLUMN_SKIP,SKIP);
        myDataBase.update(TABLE_POSES, args, COLUMN_ID + "=" +  String.valueOf(skipPoseId),null);
        this.close();

これらのコード スニペットはどちらも機能せず、例外がスローされません。私は何を間違っていますか?

4

4 に答える 4

0

このような更新を使用して、

        String query="UPDATE tablename SET columnname="+var+ "where columnid="+var2;
        sqlitedb.execSQL(query);

更新クエリを文字列クエリに記述して実行するだけです。

于 2012-10-29T17:18:06.927 に答える
0

を使用して 2 番目のメソッドを使用しupdate()、戻り値を確認する必要があります。値がゼロの場合、データベースの状態は予期したものではなく、行は更新されていません。行がゼロでない場合、更新は成功しています。

データベースへのアクセスに問題がある場合、update()呼び出しの前に例外がスローされます。

args パラメータを次のupdate()ように利用します。

myDataBase.update(TABLE_POSES, args, COLUMN_ID + " = ?", new String[]{ Long.toString(skipPoseId) });
于 2012-10-29T17:09:30.987 に答える