Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

блокировка данных (Ado.NET)

8.0K
19 мая 2005 года
AlexCOM10
16 / / 19.05.2005
Подскажите пожалуйста,
1. у меня есть заполненный Dataset
2. есть grid

Вопрос:
Каким образом блокировать запись в базе данных (в моем случае SQL), которая редактируется в Grid?
И каким образом получить в DataSet изменения в базе данных, которые произвел другой пользователь с другой машины?

СПАСИБО!!!!!!!
425
19 мая 2005 года
sq_deep
498 / / 18.02.2005
Мне кажется, надо использовать transaction. Поэкспериментируйте с IsolationLevel. Может быть, найдёте решение.

Другой вариант, который у меня всегда работал, такой. Поскольку, Dataset работает только с памятью, мы не можем сразу определить, чем закончится Update(ds). Мы можем только ловить DBConcurrencyException. Можно, например, ловить его по завершении редактирования каждой записи. Тогда потери пользователя будут минимальными. В общем, я пользовался таким способом, и проходило.

Что же касается получения изменений, параллельно сделанных другим пользователем, тут ничего не сделаешь, только повторным заполнением Datasetа, опять же из-за того, что он работает с буферами в памяти, а не с базой данных... Не знаю, что тут предложить.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог