2010-06-13 90 views

回答

3

從圖中看起來像adapter.InsertCommand屬性爲空。
而不是

adapter.Insertcommand.CommandText = ... 

使用

insertCommand.CommandText = ... 
adapter.InsertCommand = insertCommand; 
1

正在創建的OleDbDataAdapter adapter ok了,你要創建一個(單機)OleDbCommand insertCommand以及 - 但你不創造adapter.InsertCommand的實例 - 該變量將爲NULL!

你需要做的:

OleDbDataAdapter adapter = new OleDbDataAdapter(); 
adapter.InsertCommand = new OleDbCommand(); 

創建adapter.InsertCommand,而不是一個獨立的實例。

+0

謝謝!但爲什麼數據沒有保存在數據庫中?我已經設置了這個:connectionString =「Provider = Microsoft.JET.OLEDB.4.0; Data Source = Admitere.mdb」; ,Admitere.mdb在我的本地C#項目文件夾中。 – qwerty 2010-06-13 11:25:23

+0

我會爲此發佈一個新問題。 – 2010-06-13 11:27:18

+0

@qwerty:如果您的'adapter.InsertCommand'爲NULL並且不存在 - 適配器應該如何插入數據? – 2010-06-13 13:48:14

0

在圖片的左下方,我看到「adapter.InserCommand」爲空,而在您創建新的「oleDbCommand」並且它是異常源之後發生錯誤。爲什麼?因爲你創建了一個「oleDbCommand」,並沒有將它分配給你的適配器。

無論如何,不​​建議你處理sql的方式,代碼很容易出現sql注入攻擊。 不建議在「嘗試」塊內放置大量代碼,因爲您以後無法找到問題的根源。

相關問題