параллельное чтение и запись таблицы базы данных

 
0
 
C++
ava
Albles | 09.12.2009, 15:30
Подскажите пожалуйста как сделать чтобы один поток писал в базу данных (строго 1 раз в 100 милисекунд) и одновременно пользователь мог просматривать базу в другом потоке.
Как реализовать доступ к таблице, ведь указатель в таблице один.
Ответы (4)
ava
artsb | 09.12.2009, 16:33 #
Цитата (Albles @  9.12.2009,  15:30 findReferencedText)
Как реализовать доступ к таблице, ведь указатель в таблице один. 

А чем вы пользуетесь?
У компонентов ADO есть метод Clone:

TADOQuery *q = new TADOQuery();
q->Clone(ADOQuery1);
// ...
delete q;

Работа будет идти с одними и теми же данными, но курсор везде свой.
ava
Albles | 11.12.2009, 21:11 #
У меня простая локальная база Paradox. TTable. Просмотр данных в Grid.
ava
vikaz | 11.12.2009, 21:31 #
Цитата (Albles @  11.12.2009,  23:11 findReferencedText)
У меня простая локальная база Paradox. TTable. Просмотр данных в Grid. 

Пишите на 6-ой версии Builder'a? я давно не работал с локальными БД db2 и Paradox и я не помню, есть ли там блокировка. Так же у этих БД нет такой компоненты, как Connection, при помощи которой можно настроить конект на локальную БД, и потом работать с БД через компоненты Query и Command. А если от этого всего абстрагироваться, то все делается просто, создайте поток Thread, в его теле опишите все что Вам необходимо.
Но лучше присмотритесь к другим локальным БД, которые полноценно поддерживают SQL... (SQLite, Firebird embedded, MS SQL Express)
ava
Albles | 14.12.2009, 11:15 #
ок, спасибо, буду крутить
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  vikaz ava  artsb   Albles
advanced
Отправить