.NET アプリで厳密に型指定されたデータセット (MyDataSet) を作成しました。簡単にするために、1 つの列 (MyCol) を持つ 1 つの DataTable (MyDataTable) があるとします。MyCol の DataType プロパティは "System.Int32" に設定され、AllowDBNull プロパティは "true" に設定されています。
新しい行を手動で作成し、このデータセットに追加したいと思います。次のようなもので、問題なく行を作成します。
MyDataSet.MyDataTableRow myRow = MySimpleDataSet.MyDataTable.NewItemRow();
罰金。ただし、値を DBNull に設定しようとすると:
myRow.MyCol = DBNull.Value;
私はそれができないと言われました...それをintにキャストすることはできません。int として定義したので、これはある意味で理にかなっています...しかし、そこに DBNull を取得するにはどうすればよいでしょうか? そこに DBNull を入れることはできないのでしょうか? それが AllowDBNull プロパティの目的ではありませんか?
明らかに根本的な何かが欠けています。誰かがそれが何であるかを説明するのを助けることができますか?
編集:「int?」も入力してみました。DataType と同じですが、入力すると Visual Studio がエラーをスローし、「列には有効な DataType が必要です」と表示されます。