欢迎来到天天文库
浏览记录
ID:14322243
大小:46.50 KB
页数:15页
时间:2018-07-27
《c#调用oracle数据库的存储过程并返回结果集》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C#调用Oracle数据库的存储过程并返回结果集C#调用Oracle数据库的存储过程并返回结果集.txt生活是过出来的,不是想出来的。放得下的是曾经,放不下的是记忆。无论我在哪里,我离你都只有一转身的距离。一数据表:student(studentidvarchar2studentnamevarchar2)数据: studentidstudentname 001 001 002 002 002 003第2步建包:CREATEORREPLACEPACKAGEPKG_SELECT_STUDENTASTYPET_CURSO
2、RISREFCURSOR;PROCEDUREGetusername(us_idINVarchar2,cur_nameOUTT_CURSOR);第3步建包体:CREATEORREPLACEPACKAGE BODYPKG_SELECT_STUDENTASPROCEDUREGetusername(us_idINvarchar2,cur_nameOUTT_CURSOR)ISBEGINOPENcur_nameFORSELECT*FROMstudentWHEREstudentid=us_id;ENDGetusername;ENDPKG_select_
3、student;第4步我的webform.cs文件:在文本框输入ID,点击按钮查询,有多条数据填充显示在gatagrid里面privatevoidButton3_Click(objectsender,System.EventArgse){stringusid=this.TextBox1.Text.Trim();Selectopst=newSelectop();this.DataGrid1.DataSource=st.GetSelectAll(usid);this.DataGrid1.DataBind();}publicDataSetGet
4、SelectAll(stringusid){OracleConnectioncon=DBoracle.CreateConnection();OracleCommandcommand=newOracleCommand();DataSetds=newDataSet();try{command.Connection=con;command.CommandText="PKG_select_student.Getusername";command.CommandType=CommandType.StoredProcedure;command.Par
5、ameters.Add("us_id",OracleType.VarChar,10).Value=usid;command.Parameters.Add("cur_name",OracleType.Cursor);command.Parameters["cur_name"].Direction=ParameterDirection.Output;OracleDataAdapteradapter=newOracleDataAdapter(command);con.Open();//command.ExecuteNonQuery();//ad
6、apter.SelectCommand=command;adapter.Fill(ds);}catch(System.Exceptionex){throwex;}finally{con.Close();command.Dispose();//adapter.Dispose();}returnds;}oracle的存储过程返回记录集,关键之处是要用游标。关于数据库的游标(cursor)大家肯定都接触不少,我们能通过OPEN,FETCH,CLOSE操作控制游标进行各种方便的操作,这方面的例子我就不在重复了。我们目前要介绍的是游标变量(curs
7、orvariable)。类似游标,游标变量也是指向一个查询结果集的当前行。不同的是,游标变量能为所有类型相似(type-compatible)的查询打开,而并不是绑定到某一个特定的查询。通过游标变量,你能在数据库的数据提取中获得更多的方便。首先是建立表: CREATETABLELIHUAN.BILL_POINTS ( POINTS_IDNUMBER(10,0)NOTNULL, CUSTOMER_IDNUMBER(10,0)NOTNULL, BILL_POINT_NONUMBER(2,0)DEFAULT1NOTNU
8、LL, CONSTRAINTPK_BILL_POINTSPRIMARYKEY(POINTS_ID) ) /其次,建PACKAGE CREATEORREPLACEPACKAGELIH
此文档下载收益归作者所有