zoukankan      html  css  js  c++  java
  • 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
       {
       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
  • 相关阅读:
    CentOS的SSH,Putty配置说明
    关于QString::toWCharArray 无法解析的外部符号
    CentOS最常用命令及快捷键整理
    Ali相关面试题
    C#几个例子[静态构造函数,继承,虚方法]
    SQL 2005 中查询或执行另外的数据库操作的方法
    DataTable Select Top
    SQL中行列转换 Pivot UnPivot
    ASP.NET页面生命周期描述
    Jquery checkbox, select 取值
  • 原文地址:https://www.cnblogs.com/tohen/p/1584956.html
Copyright © 2011-2022 走看看