--oracle--返回结果集--通过存储过程--通过普通SQL查询

11111111111111111111111111111111111
=========存储过程==============
OracleCommand cmd = new OracleCommand("pk_wt.p_wt"new OracleConnection(strconnect));
cmd.CommandType 
= CommandType.StoredProcedure;

OracleParameter p1 = new OracleParameter("mycs", OracleType.Cursor);
p1.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(p1);

OracleDataAdapter da 
= new OracleDataAdapter(cmd);
DataSet ds 
= new DataSet();
da.Fill(ds, 
"test");

this.GridView2.DataSource = ds;
this.GridView2.DataBind(); 

scott的test表

SQL> desc test
Name Type          Nullable 
Default Comments 
---- ------------- -------- ------- -------- 
ID   NUMBER        Y                         
NAME 
VARCHAR2(100) Y    

scott的package

create or replace package pk_wt
as
type mytype 
is ref cursor;
procedure p_wt(mycs out mytype);
function f_get(str in varchar2)
return varchar2;
end;

scott的package body

CREATE OR REPLACE package BODY pk_wt
as
procedure p_wt(mycs out mytype)
is
begin
open mycs for select * from test;
end p_wt;

function f_get(str varchar2)
return varchar2
is
str_temp 
varchar2(100) := 'good luck';
begin
str_temp :
= str_temp || str;
return str_temp;
end f_get;

end pk_wt;

==============================
22222222222222222222222222222222222222
===========SQL语句返回结果集合======

DataTable dt = ExecuteSQLFillTable("select * from emp");

GridView1.DataSource 
= dt;
GridView1.DataBind();

 

 public DataTable ExecuteSQLFillTable(string strSQL)
    {
        
try
        {
            DataTable dataTable 
= new DataTable();
            OracleCommand selectCommand 
= new OracleConnection(strconnect).CreateCommand();
            selectCommand.CommandText 
= strSQL;
            
new OracleDataAdapter(selectCommand).Fill(dataTable);
            
return dataTable;
        }
        
catch (Exception)
        {
            System.Web.HttpContext.Current.Response.Write(strSQL);
            
throw;
        }
    }

 

posted @ 2009-06-05 09:58  mop  阅读(350)  评论(0)    收藏  举报