powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Передача параметров в %ResultSet
4 сообщений из 4, страница 1 из 1
Передача параметров в %ResultSet
    #36530628
andrew_tcvetsikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Недавно встал вопрос передачи параметров запроса в %ResultSet .
Пример:
Код: plaintext
1.
2.
3.
        Set result=##class(%ResultSet).%New("%DynamicQuery:SQL")
	Set sc=result.Prepare("SELECT ID, Name, Salary FROM Employee WHERE Salary > ? AND Salary < ?")
	Set sc=result.Execute( 10000 ,  20000 ) 
Было-бы удобно положить параметры 10000, 20000 в контейнер - массив или список, и в %ResultSet передать уже массив параметров.
Напримет так:
Код: plaintext
1.
2.
3.
      	set array( 1 ) =  10000 
	set array( 2 ) =  20000 
	Set sc=result.Execute(array)
Однако мне это не удалось. Есть ли такая возможность вообще?
Возможно такая возможность есть в других классах, например %ResultSet.SQL
...
Рейтинг: 0 / 0
Передача параметров в %ResultSet
    #36530758
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
///или переделать на %ResultSet.SQL 
СlassMethod GetResultSet(sql as %String,ByRef params  as %String="",ByRef err as %String) as %ResultSet {
  s rs=##class(%ResultSet).%New("%DynamicQuery:SQL")
  s sc=rs.Prepare(sql) q:'sc ""   ;обработка ошибок
  ;здесь  16  параметров, в %ResultSet.SQL -  255 
  s sc=rs.Execute($g(params( 1 ),$g(params( 2 ),$g(params( 3 ))
    , $g(params( 4 )), $g(params( 5 )), $g(params( 6 ))
    , $g(params( 7 )), $g(params( 8 )), $g(params( 9 ))
    , $g(params( 10 )), $g(params( 11 )), $g(params( 12 ))
    , $g(params( 13 )), $g(params( 14 )), $g(params( 15 ))
    , $g(params( 16 ))
  )
  ;Обработка ошибок
  q rs
}

Код: plaintext
1.
2.
 ;добавляем параметры
 s params=$i(params), params(params)=value

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 
 s rs=..GetResultSet(sql,.params) q:'$IsObject(rs)
 while rs.Next() {
  ;мудрим тут
 }
 d rs.Close(),rs.%Close()
 k rs
...
Рейтинг: 0 / 0
Передача параметров в %ResultSet
    #36530763
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каше есть все :)
...
Рейтинг: 0 / 0
Передача параметров в %ResultSet
    #36533725
andrew_tcvetsikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь. Как раз то что надо!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Передача параметров в %ResultSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]