日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#使用oracle数据库的function与procedure

發布時間:2024/7/19 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#使用oracle数据库的function与procedure 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORACLE段:
首先在ORACLE建立PACKAGE和PACKAGE BODY,將在這里面定義函數和存儲過程返回結果集。
1:建立PACKAGE:
CREATE OR REPLACE package SCOTT.pk_wt
is
type mytype is ref cursor;
procedure p_wt(mycs out mytype);
function f_get(str in varchar2)
return varchar2;
end;
/
說明:其實PACKAGE只是個聲明罷了。我們在這里定義了一個存儲過程返回結集和一個函數,返回字符串。

2:建立PACKAGE BODY:
CREATE OR REPLACE package BODY SCOTT.pk_wt
is
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;
/
說明:這里建立PACKAGE BODY是具體的說明和使用,將采用什么方式實現。。

C#段:
在C#中代碼將分為兩部分,一部分是使用函數,另外一部分是使用結果集。
定義一個連接,從WEBCONFIG里去取得:
private OracleConnection orcn=new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["scott"]);
C#調用ORACLE函數:
OracleCommand cmd=new OracleCommand("pk_wt.f_get",orcn);
?? cmd.CommandType=CommandType.StoredProcedure;
?? OracleParameter p1=new OracleParameter("str",OracleType.VarChar,10);
?? p1.Direction=System.Data.ParameterDirection.Input;
?? p1.Value=this.TextBox1.Text;
?? OracleParameter p2=new OracleParameter("result",OracleType.VarChar,100);
?? p2.Direction=System.Data.ParameterDirection.ReturnValue;
?? cmd.Parameters.Add(p1);
?? cmd.Parameters.Add(p2);
?? orcn.Open();
?? cmd.ExecuteNonQuery();
?? orcn.Close();
?? this.Button_function.Text=p2.Value.ToString();
其中RESULT是系統自定義的函數返回變量,特別要注意的是,函數的參數的返回類型要指定,另外就是COMMAND類型也需要指定,另外和一般的存儲過程沒什么差別。

C#調用ORACLE返回結果集:
OracleCommand cmd=new OracleCommand("pk_wt.p_wt",orcn);
?? 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.DataGrid1.DataSource=ds;
?? this.DataGrid1.DataBind();

轉載于:https://www.cnblogs.com/chuncn/archive/2009/04/13/1434399.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的C#使用oracle数据库的function与procedure的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。