|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2009, 14:39 | #1 |
Пользователь
Регистрация: 18.06.2009
Сообщений: 17
|
блокировка таблицы при одновременном доступе
Добрый день всем форумчанам. Начну с описания проблемы.
Есть БД, сервер MSSQL. доступ к таблицам БД Осуществляется через ADOConnection, связь с таблицами-ADOTable. Имеется таблица contract.В неё пользователи вносят данные по договорам.Добавление записей происходит следующим образом:После нажатия на кнопку "сохранить" указатель перемещаем на последнюю запись таблицы,считываем id этой строки(id_contract),и прибавляем +1 к следующей(код приведен ниже)..Возникла ситуация,когда несколько пользователей одновременно считали этот id,и хотят сохранить свои данные.У пользователей возникла ошибка доступа к данным (duplicate primary key....).Как я понял,сервер не может внести данные с повторяющимся id (т.к. это поле ключевое).Как исключить эту проблему,чтобы на момент считывания id_contract и выполнения post одного пользователя,другие не смогли считать этот id и добавить свои данные. Извините,если коряво написано. С уважением,dalien Код:
|
12.08.2009, 16:06 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
а в МССКЛ раве нет что-то наподобие сиквенсов/генераторов?
|
12.08.2009, 16:11 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Новый ИД вам нигде не требуется, судя по всему, так почему бы не объявить поле id_contract как identity и пусть СУБД сама думает как это сделать?
Генераторов с скюле до последнего времени вроде бы не было. Может там в 2005 каком-нибудь и появились. Ну это можно протестить запросом "create sequence tryam" В стандарте SQL за 2003 год вроде бы только sequence описаны. Последний раз редактировалось pu4koff; 12.08.2009 в 16:15. |
12.08.2009, 16:44 | #4 |
Пользователь
Регистрация: 18.06.2009
Сообщений: 17
|
спасибо,попробую
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Run-time error 1004 для метода Unprotect при общем доступе | Chelentano | Microsoft Office Excel | 2 | 11.08.2009 16:57 |
Макрос не отрабатывает копирование при общем доступе к книге | Chelentano | Microsoft Office Excel | 6 | 07.08.2009 20:17 |
Ошибка при создании таблицы | LAGOX | SQL, базы данных | 1 | 28.03.2009 00:46 |
Сертификат безопасности при доступе к web-узлу | ss@sh | Microsoft Office Excel | 0 | 01.10.2008 15:49 |