如何通过用户界面(对话框窗口)替换JSL中的文本你好
我一直在JSL中使用SQL,并声明了4个变量并设置了所需的值。(请参见下面的脚本)
我想要的是创建一个新窗口作为用户界面。当运行此JSL时,首先弹出窗口,以允许用户为变量输入不同的值。
例如:
第一次运行JSL,用户输入4个变量的x,y,z,n,实现如下效果:
设置@spec ='x'
设置@opn ='y'
设置@Loss ='z'
设置@day = n
第二次运行JSL,用户输入:a,b,c,m为4个变量,达到如下效果:
设置@spec ='a'
设置@opn ='b'
设置@Loss ='c'
设置@day = m
========================================
脚本:
名称默认为Here(1);
ODBC =创建数据库连接(“ ___”);
SQL =“
声明@spec varchar(50)
声明@opn varchar(50)
声明@Loss varchar(50)
声明@day int
设置@spec ='xxx'
设置@opn ='yyy'
设置@Loss ='zzz'
设置@day = n
从dt选择*
''
自从我查看社区以来,我感到很难受,没有发现任何线索。
因此,我正在进行新的讨论以寻求帮助。
任何帮助将不胜感激。
期待您的帮助。
谢谢。
回复:如何通过用户界面(对话框窗口)替换JSL中的文本有无限的方式来完成您想要的。 下面是一个使用您的伪代码的简单界面。 您确实需要阅读《脚本指南》中有关使用显示对象的部分。
Names Default To Here( 1 );
nw = New Window( "Set Values",
Lineup Box( N Col( 2 ),
Text Box( "Set Spec" ),
specCB = Combo Box( {"x", "y", "z", "n"}, specVal = specCB << get Selected() ),
Text Box( "Set opn" ),
opnCB = Combo Box( {"x", "y", "z", "n"}, opnVal = opnCB << get Selected() ),
Text Box( "Set Loss" ),
lossCB = Combo Box( {"x", "y", "z", "n"}, lossVal = lossCB << get Selected() ),
Text Box( "Set day" ),
dayCB = Combo Box( {"x", "y", "z", "n"}, dayVal = dayCB << get Selected() )
),
theOK = Button Box( "OK",
// Build the statements to be executed
theExpr = "ODBC = Create Database Connection( \!"___\!" );
SQL =\!"
declare " || specVal || " varchar(50)
declare " || opnVal || " varchar(50)
declare " || lossVal || " varchar(50)
declare " || dayVal || " int
set " || specVal || " = 'xxx'
set " || opnVal || " = 'yyy'
set " || lossVal || " = 'zzz'
set " || dayVal || " = n
select * from dt
";
show(theExpr);
// run the expression (uncomment when code is real)
//Eval( Parse( theExpr ) );
nw << close window;
)
);
回复:如何通过用户界面(对话框窗口)替换JSL中的文本我不知道主题名称是否可以重命名。
仅作记录:主题应该是-如何通过用户界面将JSL变量传递给SQL变量。
回复:如何通过用户界面(对话框窗口)替换JSL中的文本嗨txnelson,
非常感谢您提供完整脚本的指导。
我已经学习了带有组合框设置的新窗口,可以使用定义的变量来创建用户界面。
棘手的事情是如何使用JSL变量替换SQL变量。
我在下面的链接中学到了类似的东西: 如何使文本编辑框的内容变为“变量”?
谢谢 @pmroz 。
然后让脚本按预期工作。
这是我最后的信息摘要。
=============================
Names Default To Here( 1 );
specVal = "";
NW = New Window( "Input Spec",
<<MODAL></MODAL>