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
  • 相关阅读:
    PBRT笔记(3)——KD树
    PBRT笔记(2)——BVH
    PBRT笔记(1)——主循环、浮点误差
    《Ray Tracing in One Weekend》、《Ray Tracing from the Ground Up》读后感以及光线追踪学习推荐
    在Node.js中使用ffi调用dll
    Node.js c++ 扩展之HelloWorld
    在Qt中配置TBB以及简单实用
    对《将Unreal4打包后的工程嵌入到Qt或者桌面中》一文的补充
    QtQuick大坑笔记之Http的Get与Post操作(带cookie)
    QtQuick自定义主题以及控件样式指引
  • 原文地址:https://www.cnblogs.com/tohen/p/1584956.html
Copyright © 2011-2022 走看看