我決定爲我的Qt應用程序測試sqlite數據庫。qt sqlite選擇語句
我已經創建了正確的語句(創建表等,並插入一些數據行)的SQLite數據庫文件。 我的問題是,當我執行select語句時,我沒有得到任何記錄。
這是我使用的代碼:
qq.sprintf("SELECT * from descriptors WHERE descriptors.id=%d ",idx);
query.exec(qq);
if(query.isSelect()){
while (query.next()){
int fff = query.value(0).toInt();
}}
的問題是,我從來沒有while循環中獲得。 query.next()似乎不起作用。
任何提示? 在此先感謝, Thodoris
p.s.我忘了寫我的配置如此:Qt 4.7.3,Windows 7,Visual Studio 2008
你不應該這樣構造你的查詢。 [改爲使用綁定](http://www.sqlite.org/c3ref/bind_blob.html),否則[Little Bobby Tables](http://xkcd.com/327/)將再次出現。 – 2011-07-06 14:02:11
感謝您的回答和漫畫。我用mysql的這種查詢構造並且工作正常。我會嘗試使用綁定來看看會發生什麼,我會更新 – theosem
當然,它會正常工作。直到鮑比表出現。僅僅因爲它工作正常並不意味着它沒問題。這就像運行STOP標誌。它有效直到有人死亡。 –