C#中如何调用oracle存储过程 最简单的实例

本文介绍了一个简单的示例,展示了如何使用C#来调用Oracle数据库中的存储过程。该示例包括了创建Oracle存储过程、在PL/SQL中进行测试以及在C#应用程序中实现的过程。
[b]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组件
namespace OraWinApp
{
public class Procedure
{
public string SpExeFor(string ID,string UserName)
{
//declare the values
OracleParameter[] parameters={
new OracleParameter("paramin",OracleType.VarChar,20),
new OracleParameter("paramout",OracleType.VarChar,20),
new OracleParameter("paraminout",OracleType.VarChar,20)
};
parameters[0].Value=ID;
parameters[2].Value=UserName;
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)
{
// Get a connection to the db
// context connection is used in a stored procedure
String ConnectionString = "Data Source=Pubs;Persist Security Info=True;User ID=sys;Password=123;Unicod" + "e=True";
OracleConnection conn = new OracleConnection(ConnectionString);
conn.Open();

OracleCommand cmd = new OracleCommand();
cmd.CommandText = storedProcName; //declare the stored name
cmd.CommandType = CommandType.StoredProcedure;

foreach (OracleParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
cmd.ExecuteNonQuery(); //execute the stored
}
测试结果:ddff[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值