0

SQLite データベースのデータを更新する方法についていくつか提案が必要です。今、私はこのようにしています:

public void insertadoMedidasAdoptarCorrectamente(String codMedAdC,
        String codigoServicio) {
    AndroidOpenDbHelper androidOpenDbHelper = new AndroidOpenDbHelper(this);
    SQLiteDatabase sqliteDatabase = androidOpenDbHelper
            .getWritableDatabase();

    ContentValues contentValues = new ContentValues();
    contentValues.put(AndroidOpenDbHelper.insertadoCorrectamente, 1);

    sqliteDatabase.update("MedidasAdoptarSeleccionadas", contentValues,
            "codigomedida = '" + codMedAdC + "' AND codigoservicio = '"
                    + codigoServicio + "'", null);

    sqliteDatabase.close();
}

これはデータを更新する最善の方法ではないと聞きました。故障することもあると思います。そのコードのため:

sqliteDatabase.update("MedidasAdoptarSeleccionadas", contentValues,
            "codigomedida = '" + codMedAdC + "' AND codigoservicio = '"
                    + codigoServicio + "'", null);

    sqliteDatabase.close();

2 つのフィールドで項目をフィルタリングしていることがわかります。これは whereclause 引数を使用して実行できることがわかりました。

それで、私の質問は、更新する予定のデータをフィルタリングする最良の方法はどれですか?

ありがとう。

4

1 に答える 1

1

"codigomedida = '" + codMedAdC + "'にが含まれていると壊れてしまうので、やるべきではありませ'codMedAdC

しかし、それを次のように行う

String[] whereArgs = { codMedAdC, codigoServicio };
sqliteDatabase.update("MedidasAdoptarSeleccionadas", contentValues,
            "codigomedida = ? AND codigoservicio = ?", whereArgs);

結構です。

これらの更新を定期的に行う場合は、データベースを開いたままにしておくことを検討できます。毎回新規作成AndroidOpenDbHelperしてデータベースを開くには時間がかかります。

于 2012-09-27T11:54:41.540 に答える