Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> transaction, не поиму как сделать 
:(
    Опции темы
kobra
Дата 30.3.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



здравствуите господа

вот не как не поиму как сделать апдеит датасета с несколькими таблицами в однои транзакции.
прилагаю проект на котором тестировал.
как все это организовать в случае обработки всего этого хозяиства в рантаим понемаю. но вот сделать это с обектами созданними в дизаине не получается.
задача простая, если во время записи второи таблицы произашло исклучение, ролбекить все.
чтобы вызыать исклучение, достаточно во втарои таблице ввести число > 50.
скрипт для создания базы в фаиле Script

спосибо.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  test.rar 58,04 Kb
PM MAIL   Вверх
kobra
Дата 30.3.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



а в кратце
Код
private void button1_Click(object sender, EventArgs e)
        {
            // открыть транзакцию
            try
            {
                this.t1TableAdapter.Update(this.dS.t1);
                this.t2TableAdapter.Update(this.dS.t2);
                //сделать коммит
            }
            catch
            {
                //сделать ролбек
            }
            finally
            {
                //если нужно можно использовать
            }
        }

PM MAIL   Вверх
ivashkanet
Дата 2.4.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 4
Всего: 149



Судя по гуглу, транзакцию нужно назначать команде адаптера:
Код

try
{
    tx = conn.BeginTransaction();
    
    daDBUpdater.InsertCommand.Transaction = tx;
    daDBUpdater.UpdateCommand.Transaction = tx;
    daDBUpdater.DeleteCommand.Transaction = tx;

    daDBUpdater.Update(dtOriginal);
    tx.Commit();
                
}
catch (Exception ex)
{
    tx.Rollback();
}
finally
{
    conn.Close;
}

PM MAIL WWW ICQ   Вверх
kobra
Дата 3.4.2007, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



студия 2005. TableAdapter не DataAdapter а public partial class TableAdapter : System.ComponentModel.Component сгенерированный студией.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.