我有一个xsd数据集架构,它允许我定义一个DataTable
的结构。对于每一列,我设置了一个默认值,所以在构建一个新行时,我得到了实例化的值(“”代表字符串,0代表Ints),而不是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.
有没有办法填补一个DataTable时保留的每一行我的默认值?
谢谢。在这种情况下,我并不是很容易访问SQL。我已经发布了一些有关解决问题的工作,如果您再次遇到问题,希望它也能帮助您。 – KyleMit
与代码很好的工作。 –