ADO.NET - Обновление нескольких таблиц данных
Я нашел вопрос выше, который является именно тем, что я ищу и пытаюсь реализовать решение ...
Я пытаюсь найти лучшее решение для обновления нескольких таблиц в sqlserver 2008 и обеспечения транзакций на нескольких таблицах.Если вставка в одну таблицу не удалась, выполните откат предыдущих обновлений для других таблиц.
- sqldataadapter обновляет только одну таблицу за раз
- Я знаю, что мы можем выполнять транзакции только для одного адаптера данных за разно необходимо обновить несколько таблиц
Ниже приведены коды, модифицированные из ответа, приведенного выше, но при этом произошла ошибка в адаптере данных.Я думаю, что мне нужно установить команды вставки, обновления и удаления, но не уверен, как это работает, если есть несколько таблиц ???может кто-нибудь заполнить недостающую ссылку?
using (SqlConnection con = new SqlConnection(SqlServerConnectionString))
{
con.Open();
//table is an array of datatable and contains data to be inserted
for (int i = 0; i < table.Length; i++)
{
ds.Tables.Add(table[i]);
}
SqlTransaction trans = con.BeginTransaction();
SqlDataAdapter dataAdapter = new SqlDataAdapter();
//Need to set insert,select, update, delete???? on multiple tables?
//dataAdapter.Fill(ds);
dataAdapter.InsertCommand.Transaction = trans; //null object error here
dataAdapter.UpdateCommand.Transaction = trans;
dataAdapter.DeleteCommand.Transaction = trans;
try
{
dataAdapter.Update(ds);
trans.Commit();
}
catch(Exception ex)
{
trans.Rollback();
}