大家一起分享C#调用oracle存储过程

来源:互联网 发布:mysql rownum 编辑:程序博客网 时间:2024/04/30 11:23

大家一起分享C#调用oracle存储过程

执行结果

      

 

      

 

     

 

Oracle方面

1.创建Oracle过程存储

create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)
as
  varparam varchar2(28);
begin
  varparam:=paramin;
  paramout:=varparam|| paraminout; 
end;

2.测试过程存储

declare
  param_out varchar2(28);
  param_inout varchar2(28);
begin
  param_inout:='ff';  
  proce_test('dd',param_out,param_inout);  
  dbms_output.put_line(param_out);
end;

 

测试结果:ddff

C#方面

1.创建界面

 

类型

对象名

Text属性值

Button

Button1

调用

Label

Label1

a:

Label

Label

b:

Label

m_input

input

Label

m_input_output

inputoutput

Label

m_Print

显示:

TextBox

m_TxtI

 

TextBox

m_TxtIO

 

 

2.显示代码

 

(1) 引用oracle的组件

    在代码中添加 using System.Data.OracleClient;

(2) 在界面上双击“调用”按钮,编写如下代码:

private void Button1_Click(object sender, System.EventArgs e)

         {

              string mConn="data source=ora9i.ora.com;user id= ora;password= ora ";//连接数据库

              conn=new OracleConnection(mConn);

              cmd=conn.CreateCommand();

              cmd.CommandText="proce_test";//存储过程名

              cmd.CommandType=CommandType.StoredProcedure;//声明调用存储过程

              //存储过程的参数,paramin代表参数名,OracleType.VarChar代表参数类型,20代表参数的大小

              OracleParameter param_in=cmd.Parameters.Add("paramin",OracleType.VarChar,20);

              param_in.Direction=ParameterDirection.Input;//代表参数的存储方式

              param_in.Value=m_TxtI.Text;

OracleParameter param_out=cmd.Parameters.Add("paramout",OracleType.VarChar,20);

              param_out.Direction=ParameterDirection.Output;

OracleParameter param_inout=cmd.Parameters.Add("paraminout",OracleType.VarChar,20);

              param_inout.Direction=ParameterDirection.InputOutput;

              param_inout.Value=m_TxtIO.Text;

              conn.Open();

              //执行存储过程

              cmd.ExecuteNonQuery();

              //返回参数的值

              m_Print.Text="显示:"+param_out.Value.ToString();

              conn.Close();

}

 

原创粉丝点击