Я разрабатываю настольное приложение на C # с бэкэндом SQL Server 2005.
Я хочу вставить строки в две таблицы, в table1
будет сохранена одна строка, а в table2
одновременно будет сохранено более 100 строк.
Я хочу, чтобы во время сохранения и между ним в случае сбоя питания или по какой-либо причине программа завершилась, тогда незавершенная транзакция не должна сохраняться в базе данных; но если транзакция завершается успешно, ее следует сохранить в базе данных.
Я использую Connection.BeginTransaction()
методы
clsData dSave = new clsData();
dSave.Open(); //
System.Data.SqlClient.SqlTransaction tr = dSave.Connection.BeginTransaction();
clsData
- это класс, в котором некоторые переменные объявлены как SqlConnection
, SqlCommand
, SqlAdapter
, в этом классе объявлена переменная с именем Connection
и метод Open()
объявлен в этом классе, который открывает соединение.
Сложность заключается в том, что после 10-20 команд tr.Connection
внезапно становится нулевым, где мое соединение все еще открыто.
Кто-нибудь может помочь мне с этой проблемой.