0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
1 | |
ADO Recordset блокирует всю таблицу, нужно блокировать только редактируемую запись27.05.2010, 13:06. Показов 3614. Ответов 15
Метки нет (Все метки)
0
|
27.05.2010, 13:06 | |
Ответы с готовыми решениями:
15
Запись ADO recordset в прилинкованную таблицу ADO.Recordset - Как узнать, что запись уже редактируется Запись в таблицу ADO Вывести не всю таблицу умножения, а только заданный столбец |
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
|
27.05.2010, 15:30 | 2 |
код в студию, тогда и разберемся
0
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|||||||||||
27.05.2010, 16:08 [ТС] | 3 | ||||||||||
Только когда из программый выйдешь то все ок. Конекшн используется такой:
0
|
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
||||||
27.05.2010, 17:08 | 4 | |||||
используй курсор: adOpenKeyset
0
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
27.05.2010, 17:20 [ТС] | 5 |
А разве не в типе блокировки дело?
0
|
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
|
27.05.2010, 18:45 | 6 |
проверь сначала
0
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
30.05.2010, 14:40 [ТС] | 7 |
adopenKeyset работает, как это можно объяснить на словах? Почему, за счет чего?
0
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
31.05.2010, 12:05 [ТС] | 8 |
Как выяснилось adopenKeyset работает не блокирую таблицу если работа идет всего с одной таблицей, однако же в проге у меня все равно после открытия рекордсета adopenKeyset и вызова Update вся таблица блокируется от изменений, сам Access при этом выдает: <Обновление невозможно; установлена блокировка>
Значит дело не в курсоре а в блокировке? Или транзакцию я не так открыл?
0
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
01.06.2010, 11:29 [ТС] | 9 |
Ребят, обнаружилось что все же блокируется не вся таблица, а некоторая ее часть (называется страница?). Уже лучше. Как бы добиться блокировки только одной записи.
0
|
Lenivec
|
|
01.06.2010, 12:09 | 10 |
Jet такового не могёт. Максимум что от него можно добится, это строниячная блокировка.
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
01.06.2010, 12:22 [ТС] | 11 |
Но я же добавляю записи, а не изменяю, нахрена он блокирует??? Все равно добавляемые в транзакции записи пока никто не видит.
0
|
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
|
01.06.2010, 13:25 | 12 |
Код
rs.CacheSize=1
0
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
01.06.2010, 13:55 [ТС] | 13 |
Нет, не помогло, значит нужно что-то другое.
0
|
Malyarr
|
|
04.06.2010, 02:51 | 14 |
Не много не в тему, но думаю это полезно учитывать. Изменяйте записи, используя SQL запросы, а не рекордсеты. Это работает в разы быстрее и с блокировкой нет проблем.
|
0 / 0 / 0
Регистрация: 09.05.2010
Сообщений: 233
|
|
04.06.2010, 15:32 [ТС] | 15 |
Я не соглашусь с тобой, SQL-запросы вызывают точно такие же блокировки. AddNew как ты думаешь выполняется? Да это же и есть самый что ни на есть Insert, после его вызова - ADO внутри себя как раз Insert и запускает, так что от блокировок это не спасет.
0
|
Malyarr
|
|
05.06.2010, 00:16 | 16 |
Не буду спорить по поводу блокировок. Просто в практической работе не имел с ними проблем) Для справки - сеть примерно 500 машин. Конечно не все они одновременно с моими программами работают, но какие то работают) За то что метод AddNew рекордсета и SQL запрос выполняемый сервером не одно и то же свидетельствует скорость, особенно в циклах заметно - она в разы отличается. Попробуй, может это то что тебе надо. Я во всяком случае рекордсеты только для просмотра применяю. Всё редактирование через SQL. Причем не важно с чем работаю MSSQL, Access или .dbf - технология в принципе одна.
|
05.06.2010, 00:16 | |
05.06.2010, 00:16 | |
Помогаю со студенческими работами здесь
16
Нужно всю таблицу из Xml импортировать в ListView1 Создать редактируемую таблицу в Delphi Как сделать редактируемую таблицу? Как создать редактируемую таблицу прямо на странице? QTableView - добавить новую редактируемую строку в таблицу Нужно закрасить всю область, оставив только треуголник внутри окружности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |