Ссылка на объект не установлена ​​на экземпляр объекта - ошибка - PullRequest
0 голосов
/ 13 июня 2010

Я пытаюсь вставить в базу данных Access, из Visual C #.Но я получил эту ошибку: ошибка

Что я делаю не так в коде?Значения правильные, они поступают из полей ввода.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 13 июня 2010

На рисунке это выглядит как свойство adapter.InsertCommand равно нулю.
Вместо

adapter.Insertcommand.CommandText = ...

используйте

insertCommand.CommandText = ...
adapter.InsertCommand = insertCommand;
1 голос
/ 13 июня 2010

Вы создаете OleDbDataAdapter adapter ok, и вы также создаете (отдельно) OleDbCommand insertCommand - но вы НЕ создаете экземпляр для adapter.InsertCommand - это переменная будет NULL!

Вам нужно сделать:

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

Создайте adapter.InsertCommand вместо автономного экземпляра.

0 голосов
/ 13 июня 2010

В левом нижнем углу рисунка я вижу, что "adapter.InserCommand" имеет значение null, а ошибка возникла после того, как вы создали новую "oleDbCommand", и это является источником исключения.Зачем ?Поскольку вы создали один «oleDbCommand» и не назначили его для вашего адаптера.

В любом случае, способ работы с sql не рекомендуется, и код подвержен атакам внедрения SQL.Также не рекомендуется помещать большое количество кода в блок «Try», так как вы не можете найти источник проблемы позже.

...