我在Windows窗體中有幾個文本框。其中一個文本域允許爲NULL。當我爲每個字段輸入一個值時,它全部插入,沒有問題。當我離開字段(txtGewicht)爲空時,我似乎無法在Access數據庫中插入NULL。在VB.NET的Access中插入空字符串字段
If Double.TryParse(txtGewicht.Text, 0) Then
klant.Gewicht = Double.Parse(txtGewicht.Text)
Else
klant.Gewicht = Nothing
End If
這就是我得到:
「無法設置列 'Gewicht' 爲NULL,請使用的DBNull,而不是」
所以我改變了 '無' 到DBNull.value,但隨後告訴我System.DBNull不能轉換爲Double類型。
對不起,應該提到,我把我的Gewicht字段聲明爲Nullable,所以我實際上可以將它設置爲Nothing,但是CommandBuilder在將它插入到數據庫時沒有考慮到這一點。 – Mekswoll 2012-01-04 01:50:09
嗯 - 然後看到這個線程:http://stackoverflow.com/questions/5868313/ado-net-commandbuilder-insertcommand-and-default-constraints。我自己不使用命令生成器 - 因爲我發現它不會節省太多時間。我自己寫簡單的查詢,或者如果它更復雜 - 使用NHibernate。 – Origin 2012-01-04 01:53:11
好的,謝謝,我會在那裏看看。我可以問一下解析嗎?我原本是按照你的說法做的,但是它給了我一個錯誤,告訴我它不允許Ex從Double轉換?到Double,所以我把CDbl(klant.Gewicht),但是如果我之後輸出klant.Gewicht的值,它沒有改變。 – Mekswoll 2012-01-04 01:56:01