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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление из данных несколькими пользователями 
:(
    Опции темы
Калинка
Дата 1.8.2011, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.8.2011

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



Всем привет,помогите новичку, такая проблема:
Есть БД на аксессе, создан датаадаптер, датасет. При помощи датаадаптера заполняю датасет и связываю его с гридом. Далее пользователь удаляет 
какую либо строку, выполняется метод Update адаптера и принятие изменений в датасет. При этом, если второй пользователь удалил эту строку
в своей копии датасета и обновил данные в БД, то у первого вылезает исключение типа "Ошибка паралеллилизма. DeleteCommand удалил 0 строки из 1".
Те есть так-то понятно, что строка уже удалена, но... Как обработать это исключение, чтобы пользователю выходило сообщение о том, что данная строка
удалена и просто обновить его датасет. Читал мануалы на микрософте, про методы update и fill, но не совсем мне ещё понятно, как это организовать.
Пишу на VB 2008 из-под 2008-й студии.

Пример кода:
Код

'процедура удаление строки в датасете

Public Sub DelRow(ByVal tableName As String, ByVal colName As String, ByVal dg As DataGridView)
        dt = ds.Tables.Item(tableName)
        dt.PrimaryKey = New DataColumn() {dt.Columns(colName)}
      
        dr = dt.Rows.Find(dg.Item(0, dg.CurrentCell.RowIndex).Value)
        dr.Delete()
    End Sub

'процедура обновления датасета и принятия изменений в БД
Public Sub DelDateTable(ByVal tableName As String)
        dbCmdBld = New OleDbCommandBuilder(dbAdapter)
        If ds.HasChanges(DataRowState.Deleted) = True Then
            dbAdapter.DeleteCommand = dbCmdBld.GetDeleteCommand()
           
            Try
                dbAdapter.Update(ds, tableName)
                ds.Tables(tableName).AcceptChanges()
            Catch e As Exception
                System.Windows.Forms.MessageBox.Show(e.Message, "Ошибка при обновлении таблицы в DataSet!")
            End Try
        End If
    End Sub





Это сообщение отредактировал(а) Калинка - 1.8.2011, 18:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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