Разбиение запроса, между процессами.

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Avtopic
Постоялец
Постоялец
 
Сообщения: 442
Зарегистрирован: 30.09.2005 (Пт) 17:15
Откуда: Tbilisi

Разбиение запроса, между процессами.

Сообщение Avtopic » 28.04.2007 (Сб) 17:06

Здравствуйте!
Постараюсь объяснить задачу:
VB6+mdb.
Время выполнения запроса для заполняется таблицы на форме, большая. Поэтому уже не мало времени потратил, чтобы сделать примерно следующее:

1. Во второй процесс из основного, передается строка запроса. И количество N видимых на экране, строк в таблице.
2. Второй процесс разделяет задачу на две части.
а) выборка TOP N записей, из переданного запроса, + сигнализация что в выборка TOP N закончилось.
б) выборка остальных записей, из переданного запроса, + сигнализация, что выборка закончилось.

Основной процесс, реагируя на первый сигнал готовности данных, заполняет таблицу, и ждет второго сигнала, после чего заполняет таблицу полностью.


Таким образом, “убивается” время после первого заполнения до полного, за счет времени на передвижения мыши, скроллинга, пока пользователь сообразил чтобы листать записи в таблице и т.д.


По моему, примерно так сделано в Access-е (если не ошибаюсь, во всяком случае, визуально мне так кажется).
Вот и подумал, если это и в правду существует в Access-е, не существует ли DATA контроль, умеющий что-то подобное.
Как не проверял, внутри DataControl, DataGrid, VSFlexGrid ничего близкого к этому нету.

Буду, благодарен, за любой совет, Спасибо!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.04.2007 (Сб) 17:17

(с трудом понял текст)

Avtopic, ты бы и дальше проверял все существующие гриды, и дальше ничего не находил бы в них. Потому что, Avtopic, асинхронные запросы (а это так называется) выполняются не гридами, а средствами доступа к данным. Впрочем, синхронные запросы выполняются ими же.

http://bbs.vbstreets.ru/viewtopic.php?t=27510
http://bbs.vbstreets.ru/viewtopic.php?t=24699
http://bbs.vbstreets.ru/viewtopic.php?t=23725
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Avtopic
Постоялец
Постоялец
 
Сообщения: 442
Зарегистрирован: 30.09.2005 (Пт) 17:15
Откуда: Tbilisi

Сообщение Avtopic » 28.04.2007 (Сб) 22:11

Только вы написали ответ, я пошел туда, и только сейчас вернулся.
Должен сказать, долго и горько смеялся над собой...
Спасибо! все оказывается гораздо проще.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 254

    TopList