我有一个 xsd 数据集架构,它允许我为DataTable
. 对于每一列,我都设置了一个默认值,因此在构造新行时,我得到实例化值(“”代表字符串,0 代表整数)而不是DbNull
我想在使用以下两个方法调用中的任何一个时DataTable.Load
保留SqlDataAdapter.Fill
它
Dim table1 As New CodeSetSchemas.EntityByRoleDataTable()
Using reader As SqlDataReader = cmd.ExecuteReader()
table1.Load(reader)
End Using
Dim table2 As New CodeSetSchemas.EntityByRoleDataTable()
Using adapter As New SqlDataAdapter(cmd)
adapter.Fill(table2)
End Using
但是当这些方法中的任何一个创建新行时,它们实际上会将数据库中的 DbNull 写入该行。如果我将AllowDBNull
每列的属性设置为False
,则会出现以下异常:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
填充数据表时,有没有办法保留每行的默认值?