私はWindowsフォームでいくつかのテキストフィールドを持っています。これらのテキストフィールドの1つはNULLにすることができます。すべてのフィールドに値を入力すると、そのフィールドはすべて挿入され、問題はありません。フィールド(txtGewicht)を空白のままにすると、AccessデータベースにNULLを挿入できないように見えます。VB.NETを使用したAccessで空の文字列フィールドをnullに挿入する
If Double.TryParse(txtGewicht.Text, 0) Then
klant.Gewicht = Double.Parse(txtGewicht.Text)
Else
klant.Gewicht = Nothing
End If
これは私が得るものです:
"をNULLに列 'Gewicht' を設定することはできません、代わりにはDBNullを使用してください" だから私は、それがその後、DBNull.Valueをに '何' を変更しませんが、 System.DBNullをDouble型に変換することはできません。
申し訳ありませんが、私はGullichtフィールドをNullableとして宣言していますので、実際にNothingに設定することができますが、CommandBuilderはデータベースに挿入する際にその事実を認識しません。 – Mekswoll
ああ - このスレッドを参照してください:http://stackoverflow.com/questions/5868313/ado-net-commandbuilder-insertcommand-and-default-constraints私はコマンドビルダーを自分で使っていません。私は単純なクエリを自分で書くか、もっと複雑な場合はNHibernateを使います。 – Origin
よろしくお願いします。私は構文解析について尋ねることができます。あなたが言ったように私はもともとそれをしていましたが、それはダブルからのexlpicit変換を許可していないと私に言ってエラーを与える? Doubleにするため、CDbl(klant.Gewicht)を入れますが、後でklant.Gewichtの値を出力すると変更されません。 – Mekswoll