У меня простая проблема с не таким простым решением ... В настоящее время я вставляю некоторые данные в базу данных, например:
kompenzacijeDataSet.KompenzacijeRow kompenzacija = kompenzacijeDataSet.Kompenzacije.NewKompenzacijeRow();
kompenzacija.Datum = DateTime.Now;
kompenzacija.PodjetjeID = stranka.id;
kompenzacija.Znesek = Decimal.Parse(tbZnesek.Text);
kompenzacijeDataSet.Kompenzacije.Rows.Add(kompenzacija);
kompenzacijeDataSetTableAdapters.KompenzacijeTableAdapter kompTA = new kompenzacijeDataSetTableAdapters.KompenzacijeTableAdapter();
kompTA.Update(this.kompenzacijeDataSet.Kompenzacije);
this.currentKompenzacijaID = LastInsertID(kompTA.Connection);
Последняя строка важна.Почему я поставляю соединение?Ну, есть функция SQLite с именем last_insert_rowid () , которую вы можете вызвать и получить последний идентификатор вставки.Проблема в том, что он связан с соединением, и .NET, похоже, открывает и закрывает соединения для каждой операции набора данных.Я думал, что подключение к настольному адаптеру изменит ситуацию.Но это не так.
Кто-нибудь знает, как решить эту проблему?Может, откуда взять постоянную связь?Или, может быть, что-то более элегантное?
Спасибо.
РЕДАКТИРОВАТЬ:
Это также проблема с транзакциями, мне нужно такое же соединение, если я хочу использовать транзакции, так что это такжепроблема ...