亲爱的大家好:
我在将Sqlite与.Net / visual studio结合使用时遇到问题,非常需要您的帮助。
问题是:
通过某些GUI工具查看表数据时,我在Sqlite数据库中的ID列中的数据类型为'uniqueidentifier'的文本乱码(我尝试使用其他工具)
在.net代码中检索数据时,它显示的很好,但让我感到紧张。
更详细的信息在这里:
当我使用Sqlite Administrator打开表时,它在ID列中显示乱码。
但是,当我使用可视设计指定的表数据适配器或常规SqliteDataAdaptor检索表时,ID列显示正常。
这是我产生乱码的方法。
首先,我使用Sqlite连接驱动程序dll通过服务器资源管理器将表拖放到Visual Studio数据集设计器中。
以编程方式修改数据,然后使用可视化设计的数据适配器进行更新。
我的怀疑
我怀疑SqliteDataAdaptor(或内部的.net适配器?)在数据库中插入了UNICODE编码的字符串。因此,当通过适配器检索数据时,它将显示正常。但是GUI工具不能处理unicode,因此显示乱码?
持续
我不知道Sqlite数据库中是否有“ uniqueidentifier”数据类型。但是在我从其他大学收到的数据库文件上,该类型显示为“ uniqueidentifier”,并且似乎可以正常工作。
谢谢大家。
干杯
没关系,我想通了解决方法。
似乎Sqlite默认情况下将Guid存储为二进制数据。.net希望它是字符串。
因此,使用以下设置将连接字符串设置为sqlite数据库将解决此问题:
数据源= somefile; BinaryGUID = False;
请参阅:http : //www.connectionstrings.com/sqlite