Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

Работаю с БД InterBase6.5...   Найти похожие ветки 

 
studentik ©   (2002-10-15 16:45) [0]

Работаю с БД InterBase6.5. В конечном варианте программа должна работать по сети. Но сейчас, в локальном варианте, возникли проблемы.
При вводе данных в БД должна осуществляется проверка на совпадение с уже введенными. В работе единичного экземпляра приложения проблем не видно: проверка срабатывает.
Но при работе с несколькими экземплярами создается впечатление, что программа работает со слепком БД. И проверка осуществляется также в слепке :-(((

Работа со слепком будет нагружать сеть. Как настроить динамические запросы к самой БД?
Компоненты для работы БД вынесены на DataModule: DataSource, IBDatabase, IBTransaction, IBStoredProc, IBQuery.
Без вашей помощи я застряну на полпути...


 
Johnmen ©   (2002-10-15 17:34) [1]

1. На соответствующие табл. должны существовать ключи/уникальные индексы, соответственно созданные.
2. Тогда никаких проверок на совпадение с уже введенными не потребуется, а потреб-ся лишь проверять успешность ввода...


 
Wolf226 ©   (2002-10-15 17:35) [2]

Тип транзакции Read-Commited
(Snapshot - это действительно слепок получается)
CommitRetaining после каждой проверенной и внесенной записи.
Хотя тут тоже может получится ерунда, если проверки долгие.



 
studentik ©   (2002-10-16 23:59) [3]

CommitRetaining... Но как ее правильно вписать в программу?
Уточню на всякий свои вопросы:
1. Программа должна работать по сети, но не решить вопрос с транзакцией... Даже при запуске двух клиентских приложений на одном ПК изменения с одного клиента не отображаются в слепке другого.
Хотелось бы сделать обычный вариант транзакции, когда редактируемая запись недоступна для редактирования другим клиентам.
2. Как построить ключ в базе на двух (и более) полях, когда допустимо совпадение по одному полю, но не допускается совпадение по всем полям ключа?
Думаю, что эти вопросы отчасти связаны. Проверка ключа будет обновлять данные для клиента при попытке вставки или редактирования... Но как быть с другими клиентами?
Подскажите пожалуйста, что делать... Может у кого-то есть пример кода с решением этих проблем?



Страницы: 1 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
4-11553
Diamond Cat
2002-09-21 01:47
2002.11.04
Перерисовка


1-11241
Жешка
2002-10-25 11:44
2002.11.04
Есть компонент под ActiveX (.ocx). Как перенести его на другую ..


4-11547
Zion
2002-09-21 12:52
2002.11.04
Вопрос про IDispatch


1-11285
brestmarket
2002-10-23 02:12
2002.11.04
Как вообще это правильно делается?


3-11067
IgorP
2002-10-12 15:51
2002.11.04
Работа с paradox без BDE