|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
Есть экселиа с формой и кнопкой. По кнопке создается соединение к серверу БД, выполняется хранимка, выполняется селект и результаты селекта заливаются на страничку в экселе. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Проблема в том, что при таком подходе CalculateDataAndReturnTableName выполняется два раза! А вот так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
выполняется 1 раз Неужели ADODB выполняет команду , указанную в ADODB.RecordSet.Source, каждый раз когда я двигаю курсор по рекордсету? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:20 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
так и не надо делать MoveFirst Что делает ADO, во многом определяется тем, что вы скрыли за многоточием (типом курсора, к примеру) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:23 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
А курсора у меня нет, например. За многоточием скрыта страка конекшена Код: vbnet 1.
да всякие объявления переменных ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:55 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
*строка, конечно же =(* ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:56 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
Не верю - не вижу открытие рекодсета... )) Рекомендую устанавливать ForwardOnly/ReadOnly и не двигать курсором без необходимости - это самый быстрый способ и делается минимум запросов к БД (процедура, как я понимаю, возвращает только одну запись) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 15:00 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
Да, процка возвращает имя таблицы в кот. все схоронено. Про курсоры в АДОДБ я даже и не в курсе, только начал лить данные из сервака в эксель такими педальными способами. Открытие рекордсета Код: vbnet 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. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 15:15 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
но вообще, я почитал, эти параметры как раз по умолчанию в общем-то из кода очевидно, что движения курсора тут не требуется, а стало быть проблема исчерпана? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 16:07 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
Стало быть да =) Вопрос офтопиком Не подскажите мануал по ВБА в экселе А то я не могу понять есть ли тут события, как между формами передавать параметры и все такое прочее ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 16:09 |
|
ADODB.Recordset открывается два раза?
|
|||
---|---|---|---|
#18+
Cammomile, я для VBA в Экселе советую книжку Уокенбаха "Профессиональное программирование в Экселе". Такая неплохая книжка. Кое-какие штуки там не освещались (в том числе и передача параметров в ХРП с листа Экселя и возврат рекордсета, ну и вообще про АДО там вроде 1 пример был), но есть куча хау ту, от которых можно гуглить. До сих пор пользуюсь. _____ Не люблю Progress OpenEdge. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 18:46 |
|
|
start [/forum/topic.php?fid=61&msg=38266461&tid=2174795]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 134ms |
0 / 0 |