Ситуация такова, есть БД, и есть поток. В БД есть одна таблица. Она обновляется из главного потока приложения с помощью функции
| Код | void ФункцияПотока() { ... //str - массив SQL строк например //"INSERT INTO `Table` (`Name`, `Value`) VALUES ('Новый клиент',57)"
for (int i = 0; i < str.Length; i++) { TempCommand.CommandText = str[i]; TempCommand.ExecuteNonQuery(); } ОбновитьБазуДанных(); ....
}
|
| Код | private void ОбновитьБазуДанных(DataRowState Состояние) { this.datadapter.Update(this.ds.GetChanges(Состояние).Tables[0]); this.ds.Clear(); this.datadapter.Fill(ds, "Cust"); }
|
В потоке я получаю некоторые строки SQL кода которые я должен выполнить в потоке, но там генерится ошибка на строке
| Код | this.datadapter.Update(this.ds.GetChanges(Состояние).Tables[0]);
|
во время попытки обновить БД.
Ошибка такая: Object reference not set to an instance of an object.
Обращение к объектам формы осуществить можно с помощью делигатов, использованием метода Invoke(). Но например у datadapter нет такого метода.
PS: Поправил вопрос
|