2010-09-21 123 views
3

嗨親愛的,亂碼的唯一標識符SQLite中

我有使用SQLite與.net/Visual Studio中的問題,需要您的幫助很大。

的問題是:

經由一些GUI工具(I嘗試不同的工具)

它查看錶中的數據時,我已經結合在SQLite數據庫數據類型「唯一標識符」的ID列亂碼在.net代碼中檢索數據時顯示正常,但讓我感到緊張。

更多細節在這裏:

  1. 當我打開使用SQLite管理員的表,它顯示在ID列亂碼的文字。

  2. 但是,當我使用可視化設計指定表數據適配器或通用SqliteDataAdaptor來檢索表時,ID列顯示正常。

這裏是我如何產生亂碼的數據。

  1. 首先,我拖,並通過服務器資源管理器中刪除該表到Visual Studio數據集設計,使用SQLite連接驅動程序的DLL。

  2. 以編程方式修改數據,然後使用可視化設計的數據適配器進行更新。

我suspection

我懷疑SqliteDataAdaptor(或內部的.NET適配器?)插入數據庫中的UNICODE編碼的字符串。所以當通過適配器重新獲取數據時,它會顯示正常。但是GUI工具不能處理unicode,所以它顯示亂碼文本?

最後

我不知道是否有在SQLite數據庫一個「唯一標識符」的數據類型。但是從其他學院收到的數據庫文件中,它顯示的類型是'uniqueidentifier',看起來它正在工作。

謝謝大家提前。

乾杯

回答

4

沒關係,我周圍想通了的工作。

它似乎像Sqlite默認存儲Guid作爲二進制數據。 .net希望它是字符串。

所以設置連接字符串與後續的設置SQLite數據庫將解決這個問題:

數據源= somefile; BinaryGUID = False;

參考:http://www.connectionstrings.com/sqlite