0

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

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(respuesta) New objSerie,status set objSerie = ##class(User.Series).%OpenId(respuesta,,.status) If status = 1 {

    Xecute objSerie.XecuteCode(respuesta)

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

ResultadoSerie(respuesta) ; set 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>
4

1 回答 1

1

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

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

于 2020-12-15T15:39:31.207 回答