2013-01-21 79 views
1

我想用sqlite本地接口執行一個簡單的查詢(下拉表),並在我嘗試準備語句時持續碰到SQLITE_ERROR。我什麼都試過,因爲我怕串兼容性(QT字符串可以有時疼痛),但每次它總是給我相同的代碼如下:sqlite c接口持久性錯誤qt

sqlite3_stmt *query; 
    std::string tmp = "DROP TABLE ?"; 
    if(sqlite3_prepare_v2(db, tmp.c_str(), tmp.size(), &query, NULL) != SQLITE_OK)return  FALSE; 
    if(sqlite3_bind_text16(query, 1, str.utf16(), -1, SQLITE_TRANSIENT) != SQLITE_OK) return FALSE; 
    if(sqlite3_step(query) != SQLITE_OK) { 
     std::cerr << sqlite3_errmsg(db); 
     return FALSE; 
    } 
    sqlite3_finalize(query); 

我真誠地希望有人在那裏可以提供幫助。

+0

這是因爲安東指出感謝所有 –

回答

1

您不能傳遞表名稱作爲參數(它適用於大多數支持參數的數據庫API,甚至可能是全部數據庫API)。

+0

非常感謝:)我沒有新的,我想我會準備查詢槽字符串附加,因爲我需要的名稱是可變的 –