sqlite中報no such table的錯誤解決方案 載)

來源:互聯網
上載者:User

2009-11-13 15:18:12|  分類: 預設分類 |  標籤: |字型大小大中小 訂閱

  

這兩天C/S的項目中用到了sqlite,這個小東西還真是好用。訪問速度很快不說,產生的資料庫檔案也很小。非常適合小型項目的資料庫。wince中強烈建議使用。

不過今天遇到一個問題讓人頭大,delete資料的時候提示no such table。

資料庫中的表明明存在,在資料庫中執行delete的sql也沒有問題。看來不是sql語句的問題。

但是之前有個表單跟現在這個表單使用的是一模一樣的方法,怎麼前面那個就可以,到這個表單就不行了呢?

分析了一下兩個表單的區別,發現前者是show,後者是ShowDialog 。難道問題出在這裡?

調試發現,果不其然。

因為我串連資料庫的時候寫的是datasoure="db",而show出來的表單是在debug下面去尋找,而ShowDialog出來的表單則不是。

所以解決方式是datasoure後面的資料庫建議構造為實體路徑,至於怎麼構造,自己想辦法把。如果寫成預設的路徑,發布以後你的項目就用不了。

問題是解決了,但是後頭一想,sqlite會犯這樣的錯誤嗎?明明是找不到資料庫,卻報找不到表的錯誤?

調試發現,原來sqlite在找不到資料庫的情況下會自動建一個新的資料庫(註:我使用的是sqlite.Data)

原來如此,錯誤清晰了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.