自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#來調(diào)用Oracle存儲(chǔ)過程實(shí)操

數(shù)據(jù)庫 Oracle
此文主要描述的是如何用C#來調(diào)用Oracle存儲(chǔ)過程,以及C#調(diào)用Oracle相關(guān)的函數(shù),以下就是文章的具體內(nèi)容的描述。

本文主要講述的是用C#來調(diào)用Oracle存儲(chǔ)過程,還有返回,相關(guān)結(jié)果集,以及函數(shù),首先我們主要簡(jiǎn)述如何在Oracle中建立PACKAGE與PACKAGE BODY,將在這里面定義函數(shù)和存儲(chǔ)過程返回結(jié)果集。

1:建立PACKAGE:

  1. CREATE OR REPLACE package SCOTT.pk_wt  
  2. is  
  3. type mytype is ref cursor;  
  4. procedure p_wt(mycs out mytype);  
  5. function f_get(str in varchar2)  
  6. return varchar2;  
  7. end;   

說明:其實(shí)PACKAGE只是個(gè)聲明罷了。我們?cè)谶@里定義了一個(gè)Oracle存儲(chǔ)過程返回結(jié)集和一個(gè)函數(shù),返回字符串。

2:建立PACKAGE BODY:

  1. CREATE OR REPLACE package BODY SCOTT.pk_wt  
  2. is  
  3. procedure p_wt(mycs out mytype)  
  4. is  
  5. begin  
  6. open mycs for select * from test;  
  7. end p_wt;  
  8. function f_get(str varchar2)  
  9. return varchar2  
  10. is  
  11. str_temp varchar2(100) :'good luck!';   
  12. begin  
  13. str_temp :str_temp || str;  
  14. return str_temp;  
  15. end f_get;  
  16. end pk_wt;  
  17. /  

說明:這里建立PACKAGE BODY是具體的說明和使用,將采用什么方式實(shí)現(xiàn)。

C#段:

在C#中代碼將分為兩部分,一部分是使用函數(shù),另外一部分是使用結(jié)果集。

定義一個(gè)連接,從WEBCONFIG里去取得:

  1. private OracleConnection orcn=new 
    OracleConnection(System.Configuration.
    ConfigurationSettings.AppSettings["scott"]); 

C#調(diào)用Oracle函數(shù):

  1. OracleCommand cmd=new OracleCommand("pk_wt.f_get",orcn);  
  2. cmd.CommandType=CommandType.StoredProcedure;  
  3. OracleParameter p1=new OracleParameter("str",OracleType.VarChar,10);  
  4. p1.Direction=System.Data.ParameterDirection.Input;  
  5. p1.Value=this.TextBox1.Text;  
  6. OracleParameter p2=new OracleParameter("result",OracleType.VarChar,100);  
  7. p2.Direction=System.Data.ParameterDirection.ReturnValue;  
  8. cmd.Parameters.Add(p1);  
  9. cmd.Parameters.Add(p2);  
  10. orcn.Open();  
  11. cmd.ExecuteNonQuery();  
  12. orcn.Close();  
  13. this.Button_function.Text=p2.Value.ToString(); 

其中RESULT是系統(tǒng)自定義的函數(shù)返回變量,特別要注意的是,函數(shù)的參數(shù)的返回類型要指定,另外就是COMMAND類型也需要指定,另外和一般的Oracle存儲(chǔ)過程沒什么差別。

C#調(diào)用Oracle返回結(jié)果集:
 

  1. OracleCommand cmd=new OracleCommand("pk_wt.p_wt",orcn);  
  2. cmd.CommandType=CommandType.StoredProcedure;  
  3. OracleParameter p1=new OracleParameter("mycs",OracleType.Cursor);  
  4. p1.Direction=System.Data.ParameterDirection.Output;  
  5. cmd.Parameters.Add(p1);  
  6. OracleDataAdapter da=new OracleDataAdapter(cmd);  
  7. DataSet ds=new DataSet();  
  8. da.Fill(ds,"test");  
  9. this.DataGrid1.DataSource=ds;  
  10. this.DataGrid1.DataBind(); 

上述的相關(guān)內(nèi)容就是對(duì)C#調(diào)用Oracle存儲(chǔ)過程的描述,希望會(huì)給你帶來一些幫助在此方面。

【編輯推薦】

  1. Oracle字段的轉(zhuǎn)字符串實(shí)際操作方案
  2. Oracle SQL的優(yōu)化規(guī)則解析
  3. 閑談Oracle應(yīng)用數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)簡(jiǎn)介
  4. Oracle SQL的優(yōu)化的規(guī)則描述
  5. Oracle存儲(chǔ)過程的編寫經(jīng)驗(yàn)總結(jié)

 

責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-04-16 11:11:46

Oracle存儲(chǔ)過程

2010-04-16 12:58:48

Oracle sql

2010-04-30 09:34:24

Oracle多條件查詢

2010-04-15 17:45:26

Oracle存儲(chǔ)過程

2010-05-05 14:55:15

Oracle存儲(chǔ)過程

2010-04-16 11:03:02

Oracle存儲(chǔ)過程

2024-07-25 13:53:19

2009-08-06 16:18:38

C#調(diào)用SQL存儲(chǔ)過程

2010-04-09 09:07:43

Oracle游標(biāo)觸發(fā)器

2010-07-08 17:15:04

SQL Server存

2010-03-30 13:30:49

Oracle存儲(chǔ)

2010-04-12 09:36:29

Oacle merge

2009-08-13 17:58:34

C#存儲(chǔ)過程

2009-08-04 10:20:22

C#源碼存儲(chǔ)過程

2010-04-09 10:13:13

Oracle數(shù)據(jù)字典

2010-04-15 14:18:30

Oracle創(chuàng)建

2010-05-10 17:00:53

Oracle死鎖進(jìn)程

2010-04-13 14:00:00

Oracle inse

2010-04-27 10:25:28

Oracle Subs

2009-07-22 15:58:34

JDBC調(diào)用Oracl
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)