の構造を定義できる xsd DataSet スキーマがありますDataTable
。すべての列にデフォルト値を設定したので、新しい行を作成するときに、代わりにインスタンス化された値 (文字列の場合は ""、整数の場合は 0) を取得します。DbNull
次の2つのメソッド呼び出しのいずれかでDataTable.Load
or asを使用するときにそれを保持したい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 を埋めるときに各行のデフォルト値を保持する方法はありますか?