调用存储:
类型1:单元格调用存储中的的某一个值,直接在单元格中=sql("JDBC2","{CALL sp_ceshi}",1,1)
类型2:单元格调用有参存储,直接在单元格中=sql("JDBC2","SELECT KHMC FROM KEHU where KHDM = '"+$KHDM1+"' ",1,1); $KHDM1可以是参数面板传进来的。
类型3: 数据集中调用有参存储 {call sp_update '${KHDM}'} 无参{call sp_update }
类型四:JS调用有参存储写法如下 KHDM1为控件名“客户代码”传入
function(){
var KHDM1 = this.options.write.getWidgetByName("客户代码").getValue();
var sql="{call updatejdrq ('"+KHDM1+"') }"
var r=FR.remoteEvaluate('=SQL("JDBC2","'+sql+'",1,1)');
}
以下测试手稿请忽略:
前端输出存储的执行影响行数
alter proc upjdrq
@khdm varchar(50)
as
SET NOCOUNT ON// 关闭输数输出
declare @row varchar(500)
update kehu set jdrq=convert(varchar(10),getdate(),120) where khdm=@khdm
funciton(){
var KHDM = this.options.write.getWidgetByName("客户代码").getValue();
var sql="EXEC upjdrq '"+KHDM+"' select @@rowcount";var r=FR.remoteEvaluate('=SQL("JDBC2","'+sql+'",1,1)');
window.alert("修改成功"+r+'条');//输出影响行数
}
//window.alert(r);//var KHDM = this.options.form.getWidgetByName("KHDM").getValue();
//var KHDM2 = this.options.form.getWidgetByName("KHDM2").getValue();
//var sql2="set nocount on exec updatet3 '"+KHDM+"','"+KHDM2+"' select @@rowcount";
//var r=FR.remoteEvaluate('=SQL("JDBC3","'+sql2+'",1,1)');//alert('转移会员数为'+r+'个');//输出影响行数
//FR.remoteEvaluate('=SQL("JDBC3","'+sql2+'",1,1)');
//alert(sql2); //输出sql2所代表的公式
window.location.reload();