找回密码
 注册
搜索
查看: 1320|回复: 2

[讨论] 请各位大侠帮忙看下我的 sqlite update 代码有什么问题?为什么更新不了?(没效果

[复制链接]
发表于 2012-3-21 15:56:43 | 显示全部楼层 |阅读模式
小弟最近在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号的数据。。。。

请大侠帮忙看下到底咋回事,现在是有点晕了,谢谢了。。
 楼主| 发表于 2012-3-24 09:59:46 | 显示全部楼层
已经找到原因,是数据表中的row_id不对应引起的,现在问题已经解决,数据表中的row_id必须弄对,而且是从1开始,这和C/C++/JAVA不同
点评回复

使用道具 举报

 楼主| 发表于 2012-3-21 17:48:58 | 显示全部楼层
哪位大侠帮忙顶下呀?
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 12:31 , Processed in 0.061309 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表