我想在我的应用程序运行时获取数据库中的所有表的列表,所以我用这个命令:安卓:SQLITE_MASTER总是返回空指针
select * from sqlite_master;
但是,不管是什么,结果光标是空的。我知道数据库中有表,因为我可以读取和写入它们,而这个相同的查询返回在adb shell中运行时的预期结果。
我可能会错过什么?
我想在我的应用程序运行时获取数据库中的所有表的列表,所以我用这个命令:安卓:SQLITE_MASTER总是返回空指针
select * from sqlite_master;
但是,不管是什么,结果光标是空的。我知道数据库中有表,因为我可以读取和写入它们,而这个相同的查询返回在adb shell中运行时的预期结果。
我可能会错过什么?
只是一个猜测。你可能使用两个分离的线程相同的SQLite连接?如果你这样做,that's the problem。
祝你好运。
这个怎么样。
SELECT name FROM
(SELECT * FROM sqlite_master UNION ALL
SELECT * FROM sqlite_temp_master)
WHERE type='table'
ORDER BY name
谢谢,但那也返回一个空的游标。 – Scott 2011-12-15 14:56:12
我有一个类似的问题,我正在摸索我的头一阵子,但事实证明,我没有打开数据库。只是提醒别人看这个问题。
不幸的是,事实并非如此。单线程,一个连接。 – Scott 2011-12-15 14:56:54