使用动态生成命令时,必须在 DataTable 中指定哪一字段作为主键,不管在原始的数据库中有没有指定主键。
否则,在使用动态生成命令时,就会出现 “对于不返回任何键列信息的 SelectCommand,不支持 DeleteCommand 的动态 SQL 生成” 这样的报错提示。
示例如下:
'混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
'<startup useLegacyV2RuntimeActivationPolicy="true">
'<supportedRuntime version="v4.0"/>
'</startup>
dt = sqlitehelper.FillDataTabe("select 外键,主键,名称 from test")
dt.TableName = "dt"
dt.PrimaryKey = New DataColumn() {dt.Columns("主键")}
ds.Tables.Add(dt)