zoukankan      html  css  js  c++  java
  • [转].net 调用oracle存储过程返回多个记录集

    CREATE OR REPLACE PROCEDURE p_query_cs (
    p_infotype IN VARCHAR2,
    p_fromareacode IN VARCHAR2,
    p_toareacode IN VARCHAR2,
    p_keytype IN NUMBER,
    r_cursor1 OUT sys_refcursor, --结果集
    r_cursor2 OUT sys_refcursor --结果集
    )
    IS
    BEGIN
    OPEN r_cursor1 FOR
    SELECT *
    FROM permit_menu;

    OPEN r_cursor2 FOR
    SELECT *
    FROM permit_privilege;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    NULL;
    WHEN OTHERS
    THEN
    RAISE;
    END p_query_cs;
    /


    cs程序


    using System.Data.OleDb;
    using System.Data.OracleClient;


    protected void cs1()
    {
    DataSet ds = new DataSet();
    using (OleDbConnection conn = new OleDbConnection("Provider=OraOLEDB.Oracle.1;Password=***;User ID=***;Data Source=***;Persist Security Info=True;PLSQLRSet=1;"))
    {
    OleDbCommand comm = new OleDbCommand();
    comm.Connection = conn;
    comm.CommandText = "p_query_cs";
    comm.CommandType = CommandType.StoredProcedure;
    OleDbDataAdapter da = new OleDbDataAdapter(comm);
    // da.TableMappings.Add("table1", "PERMIT_MENU");
    // da.TableMappings.Add("table2", "PERMIT_PRIVILEGE");
    da.Fill(ds);
    for (int j = 0; j < ds.Tables.Count; j++)
    {
    for (int i = 0; i < ds.Tables[j].Rows.Count; i++)
    {
    for (int k = 0; k < ds.Tables[j].Columns.Count; k++)
    {
    Response.Write(ds.Tables[j].Rows[i][k].ToString() + "|");
    }
    Response.Write("<br/>");
    }
    }

    }
    }


    protected void cs3()
    {
    OracleConnection conn = new OracleConnection("Data Source=***;User Id=***;Password=***");
    OracleCommand cmd = new OracleCommand();
    cmd.Connection = conn;
    cmd.CommandText = "p_query_cs";
    cmd.Parameters.Add("r_cursor", OracleType.Cursor).Direction = ParameterDirection.Output;
    cmd.Parameters.Add("r_cursor1", OracleType.Cursor).Direction = ParameterDirection.Output;
    cmd.CommandType = CommandType.StoredProcedure;
    OracleDataAdapter da = new OracleDataAdapter(cmd);
    da.TableMappings.Add("Table", "PERMIT_MENU");
    da.TableMappings.Add("Table1", "PERMIT_PRIVILEGE");
    DataSet ds = new DataSet();
    da.Fill(ds);
    for (int j = 0; j < ds.Tables.Count; j++)
    {
    for (int i = 0; i < ds.Tables[j].Rows.Count; i++)
    {
    for (int k = 0; k < ds.Tables[j].Columns.Count; k++)
    {
    Response.Write(ds.Tables[j].Rows[i][k].ToString() + "|");
    }
    Response.Write("<br/>");
    }
    }

    }

  • 相关阅读:
    2020系统综合实践 第6次实践作业 15组
    2020系统综合实践 第5次实践作业
    2020系统综合实践 第4次实践作业
    2020系统综合实践 第3次实践作业
    2020系统综合实践 第2次实践作业
    系统综合实践_第1次实践作业
    2019 SDN大作业
    2019 SDN上机第7次作业
    第04组&#160;Beta版本演示
    Daily life团队冲刺博客 七
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/4094825.html
Copyright © 2011-2022 走看看