1 概述

存储过程数据视图前两个用途 普通查询分页查询 都是作为数据查询,返回数据集,然后报表和大屏等模板展示。
第三用途是 数据写入,主要用于表单模板的数据通过存储过程回写。

一个记录及控制报表打印次数的业务为例:

2 存储过程 get_print

CREATE PROCEDURE `get_print`(IN xs_Id INT(10),OUT stateMsg varchar(50),OUT stateMark INT(10))
BEGIN
    DECLARE v_cs int(11) default 0;#打印次数
    SELECT a.DAYINCISHU INTO v_cs FROM xueshengdangan a  WHERE a.ID=xs_Id;
    IF v_cs=0 THEN 
        UPDATE xueshengdangan SET DAYINCISHU=DAYINCISHU+1 WHERE ID=xs_Id;
        SET stateMsg='打印成功';
        SET stateMark=0;
    ELSEIF v_cs!=0 THEN 
        SET stateMsg='打印次数超过1次';
        Set stateMark=1;
    END IF;
END

此存储过程接收一个学生ID(xs_Id)为参数,查询打印次数,若为0,则允许打印,输出信息(stateMsg)为 打印成功,输出类型(stateMark)为 0,表示成功;否则,若打印次数不为0,则表示已经打印过,则输出 打印次数超过1次,输出类型为1,非0,表示失败。

3 定义数据视图

选择用途为 数据写入

注意:较旧版有些变化,这里不需要指定输出参数对应的系统变量。而是放到使用该数据视图的时候再指定。

4 使用数据视图

1)在相应模板中,放置了一个打印按钮。
2)在打印按钮的事件配置里,配置了一个打印后事件,采用“填报入库”事件类型,使用了该存储过程数据视图。
输入参数为:学生id所在单元格。

stateMsg、stateMark输出参数分别对应procOutResultMsg、proceOutResultType

当存储过程stateMark返回非0时,系统则提示错误信息,把stateMsg参数值展示出来。

作者:林  创建时间:2024-09-18 11:32
最后编辑:林  更新时间:2025-04-24 11:27