2011-12-15 67 views
0

我想在我的应用程序运行时获取数据库中的所有表的列表,所以我用这个命令:安卓:SQLITE_MASTER总是返回空指针

select * from sqlite_master; 

但是,不管是什么,结果光标是空的。我知道数据库中有表,因为我可以读取和写入它们,而这个相同的查询返回在adb shell中运行时的预期结果。

我可能会错过什么?

回答

0

只是一个猜测。你可能使用两个分离的线程相同的SQLite连接?如果你这样做,that's the problem

祝你好运。

+0

不幸的是,事实并非如此。单线程,一个连接。 – Scott 2011-12-15 14:56:54

0

这个怎么样。

SELECT name FROM 
    (SELECT * FROM sqlite_master UNION ALL 
    SELECT * FROM sqlite_temp_master) 
WHERE type='table' 
ORDER BY name 
+0

谢谢,但那也返回一个空的游标。 – Scott 2011-12-15 14:56:12

0

我有一个类似的问题,我正在摸索我的头一阵子,但事实证明,我没有打开数据库。只是提醒别人看这个问题。