Этот баннер — требование Роскомнадзора для исполнения 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 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36704518&tid=2159621]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 143ms |

| 0 / 0 |
