[转]在.NET中调用Oracle存储过程经验总结(6)

 

运行结果如下:

Old Records is:

Record 1:

ID:100 Name:Tony       Age:23

 

Record 2:

ID:101 Name:Jack       Age:34

 

Record 3:

ID:103 Name:newAdd     Age:100

 

New Records is:

Record 1:

ID:100 Name:John       Age:22

 

Record 2:

ID:101 Name:Jack       Age:34

 

Record 3:

ID:104 Name:Bob        Age:99

 

------------------End-------------------

 

小结:

使用Update()方法更新数据库是非常有用的,但是只局限于单个表,对于表连接的情况,还是直接用OracleCommand的ExcuteNonQuery()方法去执行更新操作比较方便。

 

七、本文总结:

在.NET中利用ADO.NET调用Oralce9i中的存储过程,函数,包等,可以提高效率,也能完成一些复杂的业务逻辑。然而调用Oracle存储过程和Sql Server中有着很大不同,最需要明确的一个思想就是:在Oracle的过程中,所有返回值必须以输出参数的形式出现。在Oracle中,要返回一个结果集,就必须把REF CURSOR作为返回参数,因此就要用到包。包类似于C++中的类,封装了一些全局变量、常量和函数,在函数中又可以有自己的私有变量。通过返回给应用程序的游标,应用程序就可以用DataReader或者DataAdapter接收它,进而做一些处理。还还可以用DataAdapter的Update()方法更新数据库,当然它需要你给出更新数据库的一些操作(为其定义处理过程)。

由于笔者是边学边写,以上示例不免有些不妥之处,请多多指教!

posted @ 2008-10-20 23:02  璀璨星光  阅读(245)  评论(0编辑  收藏  举报