1. 程式人生 > >[Oracle]高效的PL/SQL程式設計(五)--呼叫儲存過程返回結果集

[Oracle]高效的PL/SQL程式設計(五)--呼叫儲存過程返回結果集

            Oracle.DataAccess.Client.OracleConnection oracleConnection1=new OracleConnection("data source=precolm2;user id=colmtest;password=colmtest");
            oracleConnection1.Open();
            
string strSQL =@"ref_cur_demo.ref_cursor";

            Oracle.DataAccess.Client.OracleDataAdapter da 
=new Oracle.DataAccess.Client.OracleDataAdapter();
            Oracle.DataAccess.Client.OracleCommand cmd 
=new Oracle.DataAccess.Client.OracleCommand(strSQL,oracleConnection1);
            cmd.CommandType 
= CommandType.StoredProcedure;

            Oracle.DataAccess.Client.OracleParameter pram 
=new Oracle.DataAccess.Client.OracleParameter(
"p_owner",Oracle.DataAccess.Client.OracleDbType.Varchar2);
            pram.Value 
="COLMTEST";
            cmd.Parameters.Add(pram);

            Oracle.DataAccess.Client.OracleParameter pram1 
=new Oracle.DataAccess.Client.OracleParameter("p_cursor",Oracle.DataAccess.Client.OracleDbType.RefCursor);
            pram1.Direction 
= ParameterDirection.Output;
            cmd.Parameters.Add(pram1);
            
            da.SelectCommand 
= cmd;

            DataSet ds 
=new DataSet();

            da.Fill(ds);
                
            
this.dataGrid1.DataSource=ds.Tables[0].DefaultView;