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
  • 相关阅读:
    POJ 3458 Colour Sequence(简单题)
    Cygwin下vim按方向键出现ABCD;
    算法之旅——归并排序
    poj 2769 Reduced ID Numbers(memset使用技巧)
    Restlet+Fastjson 高速构建轻量级 Java RESTful Webservice
    poj 1659 Frogs' Neighborhood (度序列)
    PHP监測memcache服务端的执行状况
    机器学习之倚门回首嗅青梅
    Threejs 官网
    sqlserver安全加固
  • 原文地址:https://www.cnblogs.com/tohen/p/1584956.html
Copyright © 2011-2022 走看看