关于c#调用oracle存储过程返回数据集的写法

CREATE OR REPLACE package body REPORT.Clinic_Rate
as
PROCEDURE Clinic_Master
(
    Start_Date date,
 End_Date date,
    I number,
    T_Rate  OUT T_CURSOR
)
IS
BEGIN
    OPEN T_Rate FOR
    select  COUNTS,count(*) as counts_number  from
    (
        SELECT PATIENT_ID,COUNT(PATIENT_ID) AS COUNTs FROM CLINIC_MASTER  WHERE visit_date>=Start_Date and Visit_date<=End_Date GROUP BY PATIENT_ID
    ) a
    group by COUNTS
    order by COUNTS;
END Clinic_Master;
end Clinic_Rate;
/

 

 

c#调用

 

private void Data_Load1()
    {
        OracleConnection newConn = MyConn.Conn_Oracle();
        newConn.Open();
        OracleCommand dmCmd = new OracleCommand("SXXX_SELDM_XML.dept_dict", newConn);        // 调用包中存储过程GetDM                        
        dmCmd.CommandType = CommandType.StoredProcedure;
 
        OracleParameter param_p_id = new OracleParameter("code", OracleType.Number);
        param_p_id.Direction = ParameterDirection.Input;
        param_p_id.Value = 148;
        OracleParameter param = new OracleParameter("C_DM_DEPT", OracleType.Cursor);
        param.Direction = ParameterDirection.Output;
        DataSet MyDataSet = new DataSet();
        dmCmd.Parameters.Add(param_p_id);
        dmCmd.Parameters.Add(param);
        OracleDataAdapter MyDataAdapter = new OracleDataAdapter();
        MyDataAdapter.SelectCommand = dmCmd;
        MyDataAdapter.Fill(MyDataSet, "Clinic_Data");
        GridView2.DataSource = MyDataSet.Tables["Clinic_Data"];
        GridView2.DataBind();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值