logo资料库

oracle+c# 数据库开发实例.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
//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; //C#方面 ///引用 Oracle 组件 using System; using System.Data; using System.Data.OracleClient; namespace WebApplication4 { //数据库操作类 public class OraOprater { //数据库连接初始置 Null private OracleConnection conn=null; //数据库命令 private OracleCommand cmd=null;
public OraOprater() { //连接数据库 string mConn="data source=ora9i.ora.com;user id=ora;password=ora"; conn=new OracleConnection(mConn);//? try { conn.Open(); cmd=new OracleCommand(); cmd.Connection=conn; } catch(Exception e) { throw e; } } public string SpExeFor(string m_A,string m_B) { //存储过程的参数声明 OracleParameter[] parameters={ new OracleParameter("paramin",OracleType.VarChar,20), new OracleParameter("paramout",OracleType.VarChar,20), new OracleParameter("paraminout",OracleType.VarChar,20) }; parameters[0].Value=m_A; parameters[2].Value=m_B; parameters[0].Direction=ParameterDirection.Input; parameters[1].Direction=ParameterDirection.Output; parameters[2].Direction=ParameterDirection.InputOutput; try { RunProcedure("proce_test",parameters); return parameters[1].Value.ToString(); } catch(Exception e) { throw e; } }
private void RunProcedure(string storedProcName,OracleParameter[] parameters) { cmd.CommandText=storedProcName;//声明存储过程名 cmd.CommandType=CommandType.StoredProcedure; foreach(OracleParameter parameter in parameters) { cmd.Parameters.Add(parameter); } cmd.ExecuteNonQuery();//执行存储过程 } } } //测试结果:ddff
分享到:
收藏