Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admShocker.Pro, вопрос про курсоры можно? Код: plaintext 1. 2. 3. 4. 5. 6. аdOpenForwardOnly по умолчанию используется он если не указать явно , теперь вопрос , насколько я понял в grid-e можно будет двигаться тоже только вперед , допустим добавляя значение вручную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 21:35 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05adm аdOpenForwardOnly по умолчанию используется он если не указать явно , теперь вопрос , насколько я понял в grid-e можно будет двигаться тоже только вперед , допустим добавляя значение вручную? У меня такое впечатление, что сетка просто не захочет работать с таким курсором, попробуй. Вообще этот тип курсора при серверном использовании нужен и весьма полезен, когда требуется скорость работы. Его особенность в том, что данные начинают поступать в твое распоряжение ДО ТОГО, как они полностью будут переданы с сервера. То есть работать с рекордсетом (например заполнять массив, анализировать или заполнять какой-то пользовательский интерфейс) можно начать сразу, как только поступила первая запись, а пока ты обрабатываешь данные, они постепенно подтягиваются с сервера. Это, кстати, хорошо заметно при работе через интернет. Побочным явлением является RecordsCount=-1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 21:44 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, спасибо Shocker.ProТо есть работать с рекордсетом (например заполнять массив, анализировать или заполнять какой-то пользовательский интерфейс) можно начать сразу, как только поступила первая запись, а пока ты обрабатываешь данные, они постепенно подтягиваются с сервера. Это, кстати, хорошо заметно при работе через интернет. очень полезно кстати ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:11 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, а алгоритм какой? как работать с данными которые потихоньку загружаются? ведь мы делаем запрос "Select * from table" разве не придется ждать пока все данные загрузятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:20 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admShocker.Pro, а алгоритм какой? как работать с данными которые потихоньку загружаются? ведь мы делаем запрос "Select * from table" разве не придется ждать пока все данные загрузятся? Нет. Догрузка данных происходит асинхронно в другом потоке, а в VB метод Open уже отработал и уже можно делать выборку. То есть ты просто не замечаешь этой догрузки. Если вдруг ты с помощью MoveNext уперся в последнюю подгруженную запись, MoveNext дождется поступления следующей записи и только потом вернет управление в VB и так вплоть до EOF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:25 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Вот тебе типичное использование аdOpenForwardOnly курсора. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:27 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProНет. Догрузка данных происходит асинхронно в другом потоке,Вообще-то, как раз синхронно.Shocker.ProТо есть ты просто не замечаешь этой догрузки.В асинхронном режиме, он ее очень даже хорошо заметит :) И вообще, синхронность и асинхронность работы это вопрос намного более сложный и долгий. Не стоит его примешивать к учебнику по курсорам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:31 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
White OwlShocker.ProНет. Догрузка данных происходит асинхронно в другом потоке,Вообще-то, как раз синхронно. О, черт. Опять придется флеймить с доказательствами того, что Open возвращает управление до окончания фактической передачи данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:36 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
White Owl, Код: plaintext и какой смысл использовать два раза эту конструкцию? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:36 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admrs(i) это целиком запись? это i-тое поле aduka05admи какой смысл использовать два раза эту конструкцию? в первый раз выводятся заголовки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:37 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, то есть во второй раз выводится все поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:46 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admShocker.Pro, то есть во второй раз выводится все поле? Ну, честно говоря, не очень понял вопроса Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:51 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, понял , во внутреннем цикле проходим все поля и записываем , переходим к следующей записи и тоже самое Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:58 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admShocker.Pro, понял , во внутреннем цикле проходим все поля и записываем , переходим к следующей записи и тоже самое Код: plaintext честно говоря, я не понял, зачем здесь дополнение пустой строкой, может такой необычный способ преобразования типа в строку. Trim-ом просто режем начальные и конечные пробелы aduka05adm Код: plaintext Берем все поле в кавычки. Этот код формирует csv-файл, и в кавычки приходится братьте значения, которые содержат разделитель (запятую в данном случае) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 23:08 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, долго думал но понял спасибо))) читал ваш топик у вас программа в 100 и более форм ,сколько же времени вы ее писали?и еще вопрос если пользователь в gride меняет значение то лучше использовать MSFLEXGRID(имею ввиду где нет прямого доступа к базе) или Grid с поддержкой этого по типу DataGrid (заметил ошибки при прямом внесении данных)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 23:30 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admдолго думал но понял спасибо))) читал ваш топик у вас программа в 100 и более форм ,сколько же времени вы ее писали? стало быть мало ты моих топиков читал /topic/703320&pg=2#7864533 aduka05admи еще вопрос если пользователь в gride меняет значение то лучше использовать MSFLEXGRID(имею ввиду где нет прямого доступа к базе) или Grid с поддержкой этого по типу DataGrid (заметил ошибки при прямом внесении данных)? Ну это кому как удобнее и какая цель ставится. К примеру, для ввода даты в своих приложениях я использую собственный контрол. Он имеет собственно поле для написания даты ручками, UpDown для листания даты вперед-назад мышкой (как у цифровых полей), вызов календарика на три месяца вокруг текущей даты, выбор из списка типа "вчера, послезавтра, плюс месяц, минус год и т.п.), поддержку дружественной даты ("вчера", "сегодня", "завтра"), разный цвет для текущей, прошлых и будущих дат. Естественно, я хочу и в грид вводить дату с помощью своего контрола, а не с помощью того, который предложит мне DataGrid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 23:52 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, больше десяти лет ошолеть ))) это все время вы ее обслуживаете? не легче было купить что то типо 1с предприятие для организации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 00:15 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admShocker.Pro, больше десяти лет ошолеть ))) это все время вы ее обслуживаете? не легче было купить что то типо 1с предприятие для организации? Нет, я ж не бухгалтерию пишу :) Точнее бухгалтерия там есть только в виде первички (но это процентов 10 программы) - бухгалтерские данные потом экспортируются в 1С и обрабатываются уже там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 00:36 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, в 1996 скорее всего и не было , но щас по мойму там помимо бухгалтерии есть учет всего , от магазина до гостиниц. я читал вы самоучка , типо не учились на программиста, я вот сам учу и насколько понимаю если рядом нет того кто будет многое объяснять то это процесс очень долгий, верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 00:42 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admв 1996 скорее всего и не было , но щас по мойму там помимо бухгалтерии есть учет всего ,от магазина до гостиниц. Ну опять же, я не говорил, что пишу учет :) aduka05admя читал вы самоучка , типо не учились на программиста, я вот сам учу и насколько понимаю если рядом нет того кто будет многое объяснять то это процесс очень долгий, верно? Надо просто писать, писать, писать, тогда будет быстро. И писать не тестовые задачи, а реальные приложения, да еще и самому ими пользоваться. Придумай себе: собственный фотоальбом, собственный обработчик телепрограммы, собственную записную книжку, в конце-концов, собственную качалку порнухи. И реализуй то, что ты хочешь сделать, а не то, на какаие возможности языка наткнулся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 00:53 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Shocker.Proсобственную качалку порнухи не серьезно) а так спасибо за советы,очень дельные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 01:09 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
aduka05admShocker.Pro, Shocker.Proсобственную качалку не серьезно) Почему несерьезно??? Ты начни, а там увидишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:12 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Игорь ГорбоносПочему несерьезно??? Ты начни, а там увидишь привыкнешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 11:09 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Antonariy, договорились ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 12:38 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProWhite OwlShocker.ProНет. Догрузка данных происходит асинхронно в другом потоке,Вообще-то, как раз синхронно. О, черт. Опять придется флеймить с доказательствами того, что Open возвращает управление до окончания фактической передачи данных?Наверное.... Уж коли внимательность подводит, то придется флеймить. Open в синхронном режиме возвращает управление когда сервер выдаст хоть что-нибудь. В случае успешной обработки запроса это будет первая строкя первого резалтсета. После этого, подготовленные данные первого резалтсета сидят в буфере на сервере и по каждому MoveNext сервер отдает очередную строку. Сервер в это время, ничего кроме отдачи строк из подготовленного резалстета не делает. Обработку запросов от других коннектов мы сейчас не рассматриваем. Когда клиент даст команду NextRecordset сервер проснется и продолжит выполнение командного пакета подготавливая следующий резалтсет. Клиент в это время будет сидеть и ждать. Как только сервер подготовит следующий резалтсет, он отпустит клиента из режима ожидания и тот снова начнет выбирать строки через MoveNext. А в асинхронном режиме все несколько по другому. Послав Open клиент сразу же продолжает работать. Клиент не будет ждать пока сервер разберется с таблицами, индексами и связями. Но это так же означает, что клиент не сможет сделать успешный вызов MoveNext, потому что сервер еще не подготовил резалтсет. И клиент, прежде чем начнет получать данные, должен будет сидеть в цикле типа: Код: plaintext 1. 2. 3. Причем MoveNext тоже будет возвращаться сразу же, не дожидаясь пока данные реально пройдут по сети и лягут в клиентский объект. В это время State будет равным adStateFetching. Синхронность и асинхронность в применении к ADO (и вообще ко всем интерфейсам баз данных) означает что команды общения с сервером либо будут, либо не будут ждать ответа от сервера прежде чем передать управление следующей строке программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 18:33 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
White Owl, Мы с тобой говорим о разных вещах, воспользовавшись, к сожалению, одним термином. Ты говоришь об adAsyncExecute, говоришь все правильно и подробно. И с точки зрения самой команды Open и VB - да, описанный мной случай будет выполнен синхронно. Давай я возьму назад слово "асинхронно", заменив его на "многопоточно". Единственное, что противоречит моему пониманию происходящих процессов, это твое "подготовленные данные первого резалтсета сидят в буфере на сервере и по каждому MoveNext сервер отдает очередную строку" . Я не уверен, что это происходит именно так, что данные не подкачиваются, пока я, скажем, ушел в затуп и вообще не делаю MoveNext. Но доказать это не могу, надо провести серию экспериментов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 18:45 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > "подготовленные данные первого резалтсета сидят в буфере на сервере и по каждому MoveNext сервер отдает очередную > строку". Я не уверен, что это происходит именно так На клиенте при запросе создается буфер и при выполнеии запросы этот буфер заполняется, как только он заполнился, данные не тянутся. Остальное на сервере ждет своего звездного часа :) . Именно по MoveNext происходит запрос, а не в бекграудне, ты можешь вообще никуда не пойти, а просто посмотреть и закрыть рекордсет. Так зачем делать лишнее Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 18:51 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Ок. Ладно. Век живи - век учись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 18:53 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProЕдинственное, что противоречит моему пониманию происходящих процессов, это твое "подготовленные данные первого резалтсета сидят в буфере на сервере и по каждому MoveNext сервер отдает очередную строку" . Я не уверен, что это происходит именно так, что данные не подкачиваются, пока я, скажем, ушел в затуп и вообще не делаю MoveNext. Но доказать это не могу, надо провести серию экспериментов.Это и верно и неверно одновременно :) С точки зрения реальной нагрузки на сеть, клиент действительно чаще всего перекачивает записи по нескольку штук за раз. Если ты заглянешь в настройки интерфейсного драйвера ты возможно сможешь найти там что-нибудь типа Fetch Array Size. Но большинство драйверов не позволяют контролировать размер пакета или просто не афишируют это свойство в настройках доступных рядовому админу. А с точки зрения VB* выкачивает драйвер строки пачками или по одной - никакой разницы нет. С уровня VB ты никогда не сможешь добраться до драйверного буфера и как-либо его использовать. Принцип тут тот же что и с буферизированым чтением из файла. Осознание того факта что харддрайв не дергается за каждым байтом а читает данные покластерно, греет душу, но не заставляет тебя менять алгоритм побайтового чтения файла на блочный. Совсем другое дело синхронный или асинхронный доступ к БД. Использование того или другого означает что ты будешь писать программу в двух разных стилях. Поэтому я и возмутился на необдуманное использование слова "асинхронный". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 19:46 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
White OwlС точки зрения реальной нагрузки на сеть, клиент действительно чаще всего перекачивает записи по нескольку штук за раз. Если ты заглянешь в настройки интерфейсного драйвера ты возможно сможешь найти там что-нибудь типа Fetch Array Size. Но большинство драйверов не позволяют контролировать размер пакета или просто не афишируют это свойство в настройках доступных рядовому админу. Ну тут у меня было непонимание только в одном: предположим, я сделал разок MoveNext и ушел в затуп. Будет ли в это время происходить докачка? Я полагал, что будет. Игорь привел железный аргумент, после которого я решил согласиться с вами без проверки. ---------------- Есть один интересный нюанс. Я пока ему беспощадную войну не объявлял, а мелкие попытки нивелирования ни к чему ни привели. При Forward-курсоре я начинаю чтение и обработку данных и вдруг бросаю (пользователь прервал процесс). Делаю на рекордсете и на комманде всякие Cancel, Close, Nothing, однако, пока эта сволочь полностью не заберет недобранные данные с сервера - управление мне не возвращается. Особенно заметно при работе через интернет - если данных было много, приложение затупливает на несколько секунд и трафик виден. Если данных при тех же условиях было меньше или дело происходит в локалке - отменяется гораздо быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 19:58 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProWhite OwlС точки зрения реальной нагрузки на сеть, клиент действительно чаще всего перекачивает записи по нескольку штук за раз. Если ты заглянешь в настройки интерфейсного драйвера ты возможно сможешь найти там что-нибудь типа Fetch Array Size. Но большинство драйверов не позволяют контролировать размер пакета или просто не афишируют это свойство в настройках доступных рядовому админу. Ну тут у меня было непонимание только в одном: предположим, я сделал разок MoveNext и ушел в затуп. Будет ли в это время происходить докачка?Ответ: Возможно. Я не могу дать более точного ответа. Это все зависит от конкретной версии интерфейса и реализации интерфейсного драйвера. До тех пор пока ты не сделаешь очередной MoveNext данные точно не попадут в память твоей программы, но попадут они в память интерфейсного драйвера на клиентской машине или нет - без копания в исходниках драйвера сказать обычно нельзя. Shocker.ProПри Forward-курсоре я начинаю чтение и обработку данных и вдруг бросаю (пользователь прервал процесс). Делаю на рекордсете и на комманде всякие Cancel, Close, Nothing, однако, пока эта сволочь полностью не заберет недобранные данные с сервера - управление мне не возвращается. Особенно заметно при работе через интернет - если данных было много, приложение затупливает на несколько секунд и трафик виден. Если данных при тех же условиях было меньше или дело происходит в локалке - отменяется гораздо быстрее.Да, это возможно. Опять таки повторюсь: все зависит от конкретной реализации интерфейса. Вполне возможно что клиентский драйвер действительно будет тянуть остатки резалтсета даже если его отменили. Стандартов на реализацию этого момента нет и каждый делает как ему кажется лучшим. В конце-концов "выбрать все и забыть" тоже можно считать "отменой". А вообще, смотри как организуется обмен по TCP - одна сторона пихает в свой конец туннеля, потом читает, снова пихает, снова читает... Если сервер считает что он должен запихать в туннель вот такой-то объем данных, клиент не может его прервать и сказать "хватит". В принципе не может. Только если сервер посылает данные блоками и между каждым блоком слушает "а не просят ли меня остановится", только тогда возможно прерывание посылки... И я совсем не уверен что подставь_свою_СУБД делает именно это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 20:37 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
White OwlИ я совсем не уверен что подставь_свою_СУБД делает именно это. MSSQL/OLEDB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 20:39 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
вот повыдерал из проекта, разбирайтесь Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:06 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Konst_One, Ну у меня примерно так же, только я ловлю события от коннекшна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:25 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_One, Ну у меня примерно так же, только я ловлю события от коннекшна. в режиме ассинхронного рекордсета не блокируется форма с гридом, в котором он находится. и не надо делать ассинхронное соединение (ADODB.Connection) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:28 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Konst_OneShocker.ProKonst_One, Ну у меня примерно так же, только я ловлю события от коннекшна. в режиме ассинхронного рекордсета не блокируется форма с гридом, в котором он находится. и не надо делать ассинхронное соединение (ADODB.Connection) Я не очень понял, к чему ты это. Я асинхронно запрашиваю рекордсет их хранимки через Command, и меня интересует только момент его поступления. Обработку рекордсета я делаю, перемежая его DoEvents-ом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:31 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProKonst_OneShocker.ProKonst_One, Ну у меня примерно так же, только я ловлю события от коннекшна. в режиме ассинхронного рекордсета не блокируется форма с гридом, в котором он находится. и не надо делать ассинхронное соединение (ADODB.Connection) Я не очень понял, к чему ты это. Я асинхронно запрашиваю рекордсет их хранимки через Command, и меня интересует только момент его поступления. Обработку рекордсета я делаю, перемежая его DoEvents-ом ясно, у тебя всё ок. тогда это тем, кто думает , что открыв коннект со свойством Async, у него всё сразу стало ассинхронным =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:33 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > Я не очень понял, к чему ты это. Костя пытается тебе сказать, что в случае асинхронного рекордсета, асинхронными есть только действия связанные с этим рекордсетом, и при этом остается возможность производить синхронные запросы. А в случае асинхронного коннекта, вся работа становится асинхронной. З.Ы. Если я правильно понял Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:35 |
|
||
|
Использование курсоров в ADO (aduka05adm)
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > Автор: Shocker.Pro > Я не очень понял, к чему ты это. Костя пытается тебе сказать, что в случае асинхронного рекордсета, асинхронными есть только действия связанные с этим рекордсетом, и при этом остается возможность производить синхронные запросы. А в случае асинхронного коннекта, вся работа становится асинхронной. З.Ы. Если я правильно понял что-то в этом роде, но ещё и то, что сами рекордсеты при ассинхронном соединении ещё надо так же вызывать ассинхронно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 11:36 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%9C%D1%8B%D1%88%D0%B5%D0%BB%D0%BE%D0%B2%D0%BA%D0%B0]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 748ms |
| total: | 904ms |

| 0 / 0 |
