在查询中忽略了Sqlite数据库手动更改

时间:2014-02-06 15:53:26

标签: android sqlite

我已经开始在Android中使用Eclipse编写一个带有一个小sqlite数据库的小应用程序。如您所知,sqlite非常易于使用。我已经使用sqlite多年了,但现在我发现了一些不寻常和令人失望的事情:

  • 当我尝试手动更新我的数据库时(例如使用SQLiteman或其他SQLite GUI),当我在SQLiteman中创建一个简单的SELECT * FROM ...时,会反映出更改。但是,当我执行我的应用程序并进行另一个简单的SELECT * FROM ...时,新行不存在!我没有出现!

- 我已经清理了我的解决方案,并且我尝试使用“导入...”多次更新,但没有任何结果。

- 我怀疑它可能与内部索引没有更新有关,但我不确定。

我的代码很少,你会看到:

String query = "Select _id, name FROM mytable";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
int totalRows=cursor.getCount();       //<---- This only shows the older total!

这有什么问题?

附录:

  • 我没有使用模拟器,我的设备已经植根了。但是当我在Eclipse中使用DDMS时,我看不到我的数据库(但这是另一个问题)。

  • 我在PC上编辑数据库,然后将其导入Eclipse。我已经在Eclipse中直接编辑了,但没有运气。

谢谢

2 个答案:

答案 0 :(得分:0)

我猜你必须运行旧版本的数据库。只需尝试从模拟器或设备卸载旧应用程序并安装新的更新版本。

我相信它会反映出来。

每当您明确更改数据库以将其反映到应用程序中时,您需要升级数据库版本,否则它不会影响您的数据库。或者您需要卸载旧版本的应用程序并安装将反映SQLite的更新应用程序。

答案 1 :(得分:-1)

最有可能的是,您没有对新数据执行“COMMIT”,因此它不会在Android数据库中持久存在