Android StudioでSQLiteを使用しています。
update処理をしたいのですが、selectした場所にupdate処理をかけることはできないですか?
String sql = "SELECT * FROM MyTable WHERE num = 0 ORDER BY name ASC LIMIT 1"; Cursor cursor = db.rawQuery(sql, null); cursor.moveToFirst(); ContentValues values = new ContentValues(); //Update for (int i = 1; i <= cursor.getCount(); i++) { int number = cursor.getInt(3); values.put("num", 1); db.update("MyTable", values, String.valueOf(number), null); cursor.moveToNext(); cursor.close(); }
上記のようにしてもupdateされません。
DBの中身は以下です。
public void onCreate(SQLiteDatabase db) { // テーブルの作成 db.execSQL("CREATE TABLE MyTable " + "(" + "_id INTEGER PRIMARY KEY AUTOINCREMENT" + ", name INTEGER" + ", num INTEGER" + ")"); // 初期データ投入 db.execSQL("INSERT INTO MyTable(name,num) values ( 1 , 0);"); db.execSQL("INSERT INTO MyTable(name,num) values ( 2 , 0);"); db.execSQL("INSERT INTO MyTable(name,num) values ( 3 , 0);"); }
エラーは出ませんが、更新はしてくれないという状況です。。
また、他のやり方があれば教えていただけると嬉しいです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。