2010-06-13 206 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注入攻击。 不建议在“尝试”块内放置大量代码,因为您以后无法找到问题的根源。

相关问题