2010-09-21 99 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