Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Получение количества записей в REsultSet
|
|||
|---|---|---|---|
|
#18+
Привет всем! Мне надо получить количество записей в РезалтСете, в доках ничего не нашел, получаю через цикл, но так и медленнее и некрасиво... есть ли какой нить метод у него для получения количества записей то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 11:59 |
|
||
|
Получение количества записей в REsultSet
|
|||
|---|---|---|---|
|
#18+
Тебе придётся твой запрос вызывать дважды (с одинаковым where-критерием). Один раз -- для count(*), второй -- с теми полями, которые ты хочешь видеть в результате. К сожалению, в динамич. SQL нельзя применять host-переменные, т.е. нельзя сделать так: select count(*) from MyClass into :xQty (выдаст ошибку, что типа "INTO: встретился после окончания запроса" ) Вот как можно получить результат ф-ции count(*) в динамич. запросе (я, правда, сделал это в виде класс-метода; но это не важно сейчас): Class DEBUG.Stub Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { .... ClassMethod SelTest(xClassName) As %Integer { s xQty=-1 // если передаваемое имя класса некорректно, в вызвавший модуль вернётся кол-во строк = -1 s xSQLExpr="Select count(*) from "_xClassName s xResult =##class(%ResultSet).%New() d xResult.Prepare(xSQLExpr) d xResult.Execute() while xResult.Next(){ // Аггрегир. функция count(*) дает РОВНО одну строку. s xQty=xResult.Data("Aggregate_1") // столбец с таким именем виден в SQL-managere и в терминале при вводе команды d $system.OBJ.Dump(xResult) } d xResult.Close() q xQty } .... } В терминале вводим: w ##class(DEBUG.Stub).SelTest("SomePackage.SomeClass") В результате должно вернуться -1 (если класса "SomePackage.SomeClass" нету) или что-то больше или равное нулю (число строк в таблице "SomePackage.SomeClass"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 16:31 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=33079690&tid=1559741]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 361ms |

| 0 / 0 |
