在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
然而,其他人使用数据库中的“专用”空白列充当新列的填充符有没有办法做到这一点?
更多信息: 我使用System.Data.SQLite.dll在VB.net中编写SQLite编码。我已经使用了从版本1.0.81.0到1.0.94.0
的这个过程我昨天从SQLite网站下载了System.Data.SQLite(1.0.95.0)版本。执行此DLL后,我的程序失败,在尝试使用特定表时出现错误“表没有主键”。当我恢复到1.0.94.0 DLL时没有问题,程序按预期工作,并且过去3年使用上述不同版本。
除了程序引用不同版本的DLL之外,没有其他任何更改。我可以来回走动;从94到95 =失败。从95回到94 =好。
该表确实有一个主键。数据IS被填充到表中并具有正确的模式类型。但是,当我尝试在表上找到一行时,我收到错误消息。
Dim findrow As DataRow = InfoRows.Rows.Find(“Sample1”)因错误而崩溃。
真正的示例是一个非常复杂的表和Query但是我可以使用上面的SQL字符串简单地重现错误,取出“Null as'NewColumn'”并且没有错误。