【问题标题】:Passing params to function in global, INTERSYSTEM CACHE将参数传递给全局、INTERSYSTEM CACHE 中的函数
【发布时间】:2020-12-11 12:02:36
【问题描述】:

我有问题。我找不到将参数传递给函数的方法,在全球范围内:

set ^SERIES(1)="Nombre de Serie#Humor#10#Do ResultadoSerie^KDAobjetos(respuesta)" ...... CargaMenu1 ; 新建 Sql,Statement,status,resultSet,resultado,mensaje

Set Sql="select * from SQLUser.Series"

Set Statement=##class(%SQL.Statement).%New()
Set status=Statement.%Prepare(Sql)
If status=1
{       
    Set resultSet=Statement.%Execute()
    While resultSet.%Next()
    {
        Use 0 Write $J(resultSet.IdSeries,5)_".- "_resultSet.NombreSerie,!
    }
}
else 
{
    // No se ha podido ejecutar la consulta.
    set resultado=-1
    set mensaje=$$STATUSERROR^SPAHH000(status)
    Use 0 Write resultado_" : "_mensaje,!
}

// Condicion de salida
Use 0 Write !,$J(0,5)_".- Salir",!
W !,""

Quit 

CargaMenu2(回复) 新对象系列,状态 设置 objSerie = ##class(User.Series).%OpenId(respuesta,,.status) 如果状态 = 1 {

    Xecute objSerie.XecuteCode(respuesta)

 }
else
{
    W !,""
    Use 0 write "Opción no disponible.",!   
    hang 2
}
Quit

ResultadoSerie(respuesta) ; 设置 objSerie = ##class(User.Series).%OpenId(respuesta,,.status) W #,"La serie "objSerie.NombreSerie", es de "objSerie.CategoriaSerie" y tiene "objSerie.TemporadasSerie" temporadas。" W !!, "" 挂2

    Quit

终端结果:

<OBJECT DISPATCH>Function2+9^CargaMenu2 *Property 'XecuteCode' in class 'User.Serie' is not MultiDimensional
USER 3d1>

【问题讨论】:

  • 请添加更多详细信息,说明您想要实现的目标。目前还不清楚。
  • 我添加了更多细节,你

标签: intersystems-cache intersystems-iris


【解决方案1】:

即使在更新之后,仍然没有解释为什么你需要这种方式。以这种方式执行一些存储在数据库中某处的代码并不是很好。我建议另找方法。

无论如何,您必须构造正确的字符串,其中包含所有参数,然后执行它。并掠夺到the documentation。也许你会找到更好的答案。

【讨论】:

  • 我要做的是将参数(响应)传递给数据库内部的例程。我正在学习CACHE,产生了这种好奇心。
猜你喜欢
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 2015-10-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2017-07-06
相关资源
最近更新 更多