大家好,
我在将 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 数据库将解决问题:
Data source=somefile;BinaryGUID=False;
关于.net - SQLite中uniqueidentifier中的乱码文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3756517/