在VB.net项目中使用SQLite时,我有一个SQL字符串,当填充数据表时可以动态创建(添加)新列。
SQLString = "Select Column1, Column2, Null as 'NewColumn', column4 from Table
以上工作(过去3年),并允许我在不更改数据库结构的情况下向表中添加临时列。直到SQLite DLL版本1.0.95.0。现在,以上内容导致架构缺少键列column1。即,数据在那里,但表未被识别为具有键列。使用别名列仍然有效,我可以
SQLString = "Select Column1, Column2, Column2 as 'NewColumn', column4 from Table
但是其他然后使用数据库中的“专用”空白列作为新列的填充物,是否有办法做到这一点?
更多信息:我使用VB.net中使用System.Data.SQLite.dll编码的SQLite。我已经使用了从1.0.81.0版本到1.0.94.0版本的此过程
我昨天从SQLite网站下载了System.Data.SQLite(1.0.95.0)版本。实施此DLL后,我的程序失败,尝试使用特定表时出现错误“表没有主键”。当我恢复到1.0.94.0 DLL时,没有问题,程序可以按预期工作,并且使用了上面概述的不同版本,因为这是最近三年。
除非程序引用了DLL的不同版本,否则没有其他更改。我可以来回走;从94到95 =失败。从95恢复到94 =正常。
该表确实具有主键。数据IS已填充到表中,并且具有正确的架构类型。但是,当我尝试在表上查找一行时,收到错误消息。
由于DataRow = InfoRows.Rows.Find(“ Sample1”),Dim findrow崩溃并显示错误。
真正的示例是一个非常复杂的表和查询,但是我可以使用上面的SQL字符串简单地重现错误,取出“ Null as'NewColumn'”,并且没有错误。
我将问题作为错误提交给SQLite。并没有花很长时间,我交换的信件指出,该问题将在下一版本中得到解决。SQLite的优质服务!谢谢你。
编辑:现在,可以使用System.Data.SQLite.DLL版本1.0.96.0修复该问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句