Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象引用未设置为对象的实例-错误_C#_Ms Access_Oledbconnection - Fatal编程技术网

C# 对象引用未设置为对象的实例-错误

C# 对象引用未设置为对象的实例-错误,c#,ms-access,oledbconnection,C#,Ms Access,Oledbconnection,我正在尝试从visual C#插入Access数据库。但我有一个错误: 我在代码方面做错了什么?值是正确的,它们来自输入框 谢谢 从图片上看,adapter.InsertCommand属性似乎为空。 而不是 adapter.Insertcommand.CommandText = ... 使用 从图片上看,adapter.InsertCommand属性似乎为空。 而不是 adapter.Insertcommand.CommandText = ... 使用 您正在创建OLEDB数据适配器ok,并

我正在尝试从visual C#插入Access数据库。但我有一个错误:

我在代码方面做错了什么?值是正确的,它们来自输入框


谢谢

从图片上看,adapter.InsertCommand属性似乎为空。
而不是

adapter.Insertcommand.CommandText = ...
使用


从图片上看,adapter.InsertCommand属性似乎为空。
而不是

adapter.Insertcommand.CommandText = ...
使用


您正在创建
OLEDB数据适配器
ok,并且您正在创建一个(独立的)
OLEDB命令插入命令
-但是您正在
适配器创建一个实例。插入命令
-该变量将为空

您需要执行以下操作:

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

创建
适配器。InsertCommand
而不是独立实例。

您正在创建
OleDbDataAdapter适配器
确定,并且正在创建(独立)
OLEDBCOMAND INSERCOMMAND
也一样-但您不是在为
适配器创建实例。INSERCOMMAND
-该变量将为空

您需要执行以下操作:

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

创建
adapter.InsertCommand
而不是独立实例。

在图片左下角,我看到“adapter.InsertCommand”为空,而错误发生在创建新的“oleDbCommand”之后,它是异常源。为什么?因为您创建了一个“oleDbCommand”,但没有将其分配给适配器

无论如何,我们不推荐您处理sql的方式,而且代码很容易受到sql注入攻击。
另外,不建议将大量代码放入“Try”块中,因为您以后无法找到问题的根源。

在图片的左下角,我看到“adapter.InserCommand”为空,而错误发生在您创建新的“oleDbCommand”之后,它是异常的根源。为什么?因为您创建了一个“oleDbCommand”,但没有将其分配给适配器

无论如何,我们不推荐您处理sql的方式,而且代码很容易受到sql注入攻击。
另外,不建议在“Try”块中放入大量代码,因为您以后无法找到问题的根源。

如果您将代码粘贴到此处,我将提供帮助如果您将代码粘贴到此处,我将提供帮助谢谢!但是为什么数据不保存在数据库中呢?我已经设置了:connectionString=“Provider=Microsoft.JET.OLEDB.4.0;Data Source=Admitere.mdb”,并且Admitere.mdb在我本地的c#project文件夹中。我将为此发布一个新问题。@qwerty:如果您的
adapter.InsertCommand
为NULL且不存在,那么适配器应该如何插入数据???谢谢!但是为什么数据不保存在数据库中呢?我已经设置了:connectionString=“Provider=Microsoft.JET.OLEDB.4.0;Data Source=Admitere.mdb”,并且Admitere.mdb在我本地的c#project文件夹中。我会就此提出一个新问题。@qwerty:如果您的
adapter.InsertCommand
为NULL且不存在,那么适配器应该如何插入数据???