使用C API使用SQLite(V 3.7.13),我試圖列出當前連接的所有附加的數據庫:什麼時候SQLite語句「PRAGMA database_list;」返回一個空的結果集?
sqlite3_stmt* pCompiledSql;
if(SQLITE_OK == sqlite3_prepare_v2(database, "PRAGMA database_list;", -1, &pCompiledSql, nullptr))
{
while(SQLITE_ROW == sqlite3_step(pCompiledSql))
{
const char* pName = reinterpret_cast<const char*>(sqlite3_column_text(pCompiledSql, 1));
const char* pFile = reinterpret_cast<const char*>(sqlite3_column_text(pCompiledSql, 2));
// Using pName and PFile...
}
}
凡數據庫是一個句柄到現有的數據庫與多個數據庫連接。相同的代碼可以很好地處理像「SELECT * FROM testtable;」這樣的語句
但是,使用編譯指示調用第一步調用將立即返回SQLITE_DONE。
我很確定我正在開發一些顯而易見的東西,但沒有太多的SQLite經驗我現在被卡住了......這裏可能會出現什麼問題?
該代碼適用於我。 –
感謝您確認,它幫助了很多。所以如果上面的代碼是OK的,那麼問題一定是在數據庫中的某個地方。無論如何,我必須繼續前進,找到一種解決方法(我附加它們時保存了附加數據庫的源路徑和名稱)。再次感謝您的努力。 – pangabiMC