我想在我的應用程序運行時獲取數據庫中的所有表的列表,所以我用這個命令:安卓: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