Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MS ADO (+oracle, но вообще без разницы)
|
|||
|---|---|---|---|
|
#18+
Тут обнаружил, что Recordset после запроса в GetRecordCount выдаёт -1. Я так понял, это или настройки Connection или параметры при вызове sql-я. Что где надо указать, чтобы мочь узнать точное число строк в результате из Recordset-а? Можно, конечно, select count(*) сделать, но не хотелось бы, я запрос получаю единой строкой, парсить лень. А ещё Move(-1) с любой записи не работает. Ругается, что Backward не поддерживается, хотя в параметрах adClientDynamic, по докам можно. В результате приходится делать MoveFirst, потом Move до нужной записи. MoveLast ругается с _той_же_ ошибкой! Не понял, почему... оно же forward... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 09:55 |
|
||
|
MS ADO (+oracle, но вообще без разницы)
|
|||
|---|---|---|---|
|
#18+
По синтаксису не подскажу, но знаю почему так: запрос еще не выполнен до конца когда клиент получает первые строки результата запроса. Т.е. в этот момент просто неизвестно сколько будет строк. По-хорошему не надо пытаться получить количество там где его не надо. Во-первых лишний тормоз, во-вторых лишняя память, т.к. клиент должен сначала результат закэшировать целиком. Если все-таки надо, то ищи как задать чтобы ответ сначала был полностью получен или как заставить получить целиком. Скорее всего свойства/методы со словом "fetch" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 10:17 |
|
||
|
MS ADO (+oracle, но вообще без разницы)
|
|||
|---|---|---|---|
|
#18+
Про получить сразу, я как-то не подумал, да. У меня задача такая: виртуальный лист-вью надо заполнять записями. У виртуального число записей сразу задаётся конкретным числом. Поэтому надо как-то синхронизовать число записей из запроса и число записей в листе. Пока сделал так: завёл параметр - число выводимых строк, задаю его руками через GUI, т.е. если не влезло всё, открыл диалог, задал побольше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 10:38 |
|
||
|
MS ADO (+oracle, но вообще без разницы)
|
|||
|---|---|---|---|
|
#18+
CEMb...Ругается, что Backward не поддерживается, хотя в параметрах adClientDynamic, по докам можно.... Вопрос из серии: Написал программу, не работает, помогите.... 1. Хоть бы код под спойлером привел 2. Что такое adClientDynamic ? Ни гугля ни MSDN ответа на данный вопрос мне не дали https://msdn.microsoft.com/en-us/library/ee252445(v=bts.10).aspx 3. Судя по всему, неправильные параметры/тип RecordSet'а. IMHO ДокументацияTips for ADO Programmers ... Setting ADO Rowset property CursorType to adOpenKeyset or adOpenDynamic is not supported by Oracle Provider for OLE DB. ... Страница 2-22 Oracle Provider for OLE DB Developer’s Guide 11 g https://docs.oracle.com/cd/E15296_01/doc.111/e15169.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 12:10 |
|
||
|
MS ADO (+oracle, но вообще без разницы)
|
|||
|---|---|---|---|
|
#18+
Упс... просто у меня на одной машине код, на другой интернет, и они никак не связаны, такие дела... ... пока пытался переписать код руками, кажется, нашёл "ошибку" - у меня параметры рекордсету задаются после создания, а потом он получается из Connection::Execute, стало быть, все параметры не работают, надо по-другому делать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2016, 08:03 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39152011&tid=2018633]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 181ms |

| 0 / 0 |
