我正在尝试使用以下代码,但我无法更新我的表格。
db = dbHelper.getWritableDatabase();
int i = 1;
String updateStatement = "update "+MESSAGE_TABLE+" SET status ="+i+" where message_id = "+message_id;
SQLiteStatement update;
update = db.compileStatement(updateStatement);
update.executeInsert();
我还尝试update.executeInsert()
而不是update.executeI()
,但它也没有用。
答案 0 :(得分:1)
在executeUpdateDelete()
中使用SQLiteStatement
方法并仔细阅读文档。 http://developer.android.com/reference/android/database/sqlite/SQLiteStatement.html
答案 1 :(得分:1)
希望这有帮助
db = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
ContentView update = new ContentView();
update.put("fieldNameToUpdate","Value Here as a String " or integer);
db.update("table", update,/*where clause*/ "id=2",null);
db.close();
这对我有用。 您可以根据您的要求更改值。
由于 沙..
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为如果其他事情是正确的问题在你的查询中
问题可能在字段类型中。如果message_id不是数字则假设。然后使用
String updateStatement = "update "+MESSAGE_TABLE+" SET status ="+i+" where message_id = '"+message_id+"'";
如果字段状态不是数字类型,则必须使用''
答案 4 :(得分:0)
如果您想将SQLiteStatement与executeUpdateDelete()
方法一起使用,则可以使用:
String sql = "UPDATE table_name SET column_2=? WHERE column_1=?";
SQLiteStatement statement = db.compileStatement(sql);
int id = 7;
String stringValue = "hi there";
statement.bindString(1, stringValue);
statement.bindLong(2, id); // These match to the two question marks in the sql string
int numberOfRowsAffected = statement.executeUpdateDelete();
注意:API {1}}中引入了executeUpdateDelete()
。