Java android sql更新不工作
这是表和行的外观:Java android sql更新不工作,java,android,sqlite,content-values,Java,Android,Sqlite,Content Values,这是表和行的外观: public static final String DATABASE_CREATE = "CREATE TABLE " + TABLE_NAME + "(" + COLUMN_ID + " integer primary key autoincrement, " + COLUMN_INSTANT + " TINYINT not null, " + COLUMN_CHANCE + " int not null);"; public stati
public static final String DATABASE_CREATE = "CREATE TABLE " + TABLE_NAME +
"(" + COLUMN_ID + " integer primary key autoincrement, " + COLUMN_INSTANT +
" TINYINT not null, " + COLUMN_CHANCE + " int not null);";
public static final String TABLE_INSERT = "INSERT INTO " + TABLE_NAME + " (" +
COLUMN_ID+"," + COLUMN_INSTANT +","+ COLUMN_CHANCE
+") VALUES (" +
"1," + "0," + "10"
+");";
这就是我试图更新它们的方式:
try {
open();
ContentValues values = new ContentValues();
values.put(column_name, value);
database.beginTransaction();
database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_ID + " = " + whereClause,null);
database.setTransactionSuccessful();
} catch (SQLException e) {
e.printStackTrace();
} finally {
database.endTransaction();
}
close();
前面的代码将等于此查询:
UPDATE options SET instant = 0 WHERE _id = 1
但这一变化从未得到应用。我在更新前后检查表,但值相同,有人能提出建议吗?您可以使用方法进行更新…下面是一个示例,相应地更改列名
public int updateDetail(String new_name,String surname) {
ContentValues values = new ContentValues();
values.put("name", new_name);
return Db.update(TABLE_NAME ,values, SURNAME +"=?",new String[]{surname});
}
传递给param
whereClause
“1”的内容(是的,存在一个id为1的行,我在更新之前检查,然后检查相同的行)