是否可以使用where status更新一列的数据库 这是我的表结构,我需要使用“id”更新“messagestatus”列。
db.execSQL("CREATE TABLE IF NOT EXISTS autosms(id INTEGER PRIMARY KEY AUTOINCREMENT ,phonenumber VARCHAR(15) ,message VARCHAR(5000) , year VARCHAR(10) , month VARCHAR(10) , date VARCHAR(10) , hour VARCHAR(10) , minute VARCHAR(10) , messagestatus VARCHAR(10))");
我尝试了这个,但没有成功,则发出警告“没有这样的列发送”
public void update(int id)
{
String s = "Send";
db= SQLiteDatabase.openDatabase("data/data/com.example.schduled_messages/SMS_Schdule_Sample.db", null, SQLiteDatabase.CREATE_IF_NECESSARY);
db.execSQL("UPDATE autosms SET messagestatus="+s+" WHERE id="+id+"");
}
先谢谢..
答案 0 :(得分:15)
字符串值必须用引号括起来:
"UPDATE autosms SET messagestatus='"+s+"' WHERE id="+id+""
我在这里添加了引用'"+s+"'
没有它,这是你的字符串扩展的方式:
"UPDATE autosms SET messagestatus=Send WHERE id=1234
SQLite将尝试查找名为Send的列,并将messagestatus设置为其'value。
答案 1 :(得分:0)