|
小弟最近在android上开发一个功能,需要使用的数据库读写更新等操作,但是现在update
database有问题,执行后没有效果,我需要更新数据库中特定的某一项数据内容,
请阅读如下主要code,目前只有update 数据库没效果,所以只列出这部分代码了。
建数据表关键常量:
private static final String CREATE_TABLE_SQL = "create table " +SQLITE_TAB +"(_db_ID integer primary key asc autoincrement, "+PHONE_NAME+", "+PHONE_NUMBER+", "+ENABLE_ON+")";
.....
db.execSQL(CREATE_TABLE_SQL);
....
update数据库代码,输入需要更新的id号, 以及需要更新的数据:data
private void updateDataToDatabase(int id, boolean data)
{
String sql = ENABLE_ON+" == ?";
ContentValues values = new ContentValues();
int set1 = data ? 1 : 0;
values.put(ENABLE_ON, set1);
SQLiteDatabase db = dbHelper.getReadableDatabase();
String args[] = {String.valueOf(id)};
//_db_ID:数据表id
db.update(SMS_INT_SQL_TAB, values,"_db_ID=?", args);
}
以上updateDataToDatabase方法中,执行db.update后,经过测试,数据库中的对应的数据没有得到更新,查了很久也没有发现是哪里有问题,不过我发现如果把上面语句中的_db_ID=?改为_db_ID>? --> db.update(SMS_INT_SQL_TAB, values,"_db_ID>?", args);
则可以更新到数据,但是是全部更新了,而不是更新我想要的id号的数据。。。。
请大侠帮忙看下到底咋回事,现在是有点晕了,谢谢了。。 |
|