你的存储过程,直接判断一下接收参数。如果是admin与12345的时候,就查询全表了。你在存储过程修改了
CREATE PROCEDURE GetTestData
@Param INT
AS
BEGIN
SET NOCOUNT ON;
IF @Param = '12345' OR @Param = 'admin'
BEGIN
-- 如果参数为12345与admin,查询整个表
SELECT * FROM test;
END
ELSE
BEGIN
-- 否则,使用参数作为查询条件
SELECT * FROM test WHERE SomeColumn = @Param;
END
END;
GO
调用存储的方式参考
var mycode=this.options.form.getWidgetByName('mycode').getValue(); //获取参数
var mydate=this.options.form.getWidgetByName('mydate').getValue();
var STATUS=this.options.form.getWidgetByName('STATUS').getValue();
var sql="exec test_aa_cc "+mycode+","+mydate+","+STATUS;
var res=FR.remoteEvaluate('=sql("dbbasedata","'+sql+'",1,1)');
oracel的话用这种
方式二:
var mycode=this.options.form.getWidgetByName('mycode').getValue(); //获取参数
var mydate=this.options.form.getWidgetByName('mydate').getValue();
var STATUS=this.options.form.getWidgetByName('STATUS').getValue();
var sql="call test_aa_cc ('"+mycode+"','"+mydate+"','"+STATUS+"')";
var res=FR.remoteEvaluate('=sql("dbbasedata","'+sql+'",1,1)');
直接数据集中判断,不用存储
select * from 表名称
where 1=1
${if(fine_username="12345" ||fine_username="admin","","and 表中字段 ='"+ fine_username + "'")}