电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

在.NET中调用Oracle存储过程经验总结VIP专享VIP免费

在.NET中调用Oracle存储过程经验总结_第1页
在.NET中调用Oracle存储过程经验总结_第2页
在.NET中调用Oracle存储过程经验总结_第3页
在.NET中调用Oracle9i存储过程经验总结(1) [ 2006-6-1 22:05:00 | By: heroe ] 在.NET中调用Oracle9i存储过程可以用多个数据提供者,比如OralceClient,OleDb。本文将用OralceClient为例。.NET语言用C#。 一、调用一个带输入、输出参数的存储过程 首先,在Oralce中创建存储过程如下: create or replace procedure GetRecords(name_out out varchar2,age_in in varchar2) as begin select NAME into name_out from test where AGE = age_in; end; 然后,在C#项目中作如下调用: string connectionString = "Data Source=YXZHANG;User ID=YXZHANG;Password=YXZHANG"; string queryString = "getrecords"; OracleConnection cn = new OracleConnection(connectionString); OracleCommand cmd = new OracleCommand(queryString,cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("name_out",OracleType.VarChar,20); cmd.Parameters["name_out"].Direction = ParameterDirection.Output; cmd.Parameters.Add("age_in",21); try { cn.Open(); cmd.ExecuteNonQuery(); Console.WriteLine("Name is:{0}",cmd.Parameters["name_out"].Value.ToString()); cn.Close(); } catch( OracleException ex ) { Console.WriteLine("Exception occurred!"); Console.WriteLine("The exception message is:{0}",ex.Message.ToString()); } finally { Console.WriteLine("------------------End-------------------"); } 小结: 以上是很平常的调用方法,但是我在做这个示例程序的时候,却不是那么一帆风顺。这里要指出OracleClient 的一个不尽如人意之处,就是对于参数名称,必须和存储过程定义中的参数同名,否则就会报错。比如将代码中的“name_out”改为别的名称的话,就会报异常。但我试着用OleDb 代替OralceClient,却没有这个问题。不知道在新版本的数据提供程序中会否改进这一点? 二、调用不返回数据的存储过程 首先,在 Oralce中创建存储过程如下: create or replace procedure insertRecord(UserID in varchar2, UserName in varchar2, UserAge in varchar2) is begin insert into test values (UserID, UserName, UserAge); end; 然后,在 C#项目中作如下调用: string connectionString = "Data So...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部