c#调用oracle数据库的存储过程并返回结果集

c#调用oracle数据库的存储过程并返回结果集

ID:14168939

大小:46.50 KB

页数:14页

时间:2018-07-26

c#调用oracle数据库的存储过程并返回结果集_第1页
c#调用oracle数据库的存储过程并返回结果集_第2页
c#调用oracle数据库的存储过程并返回结果集_第3页
c#调用oracle数据库的存储过程并返回结果集_第4页
c#调用oracle数据库的存储过程并返回结果集_第5页
资源描述:

《c#调用oracle数据库的存储过程并返回结果集》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#调用Oracle数据库的存储过程并返回结果集一数据表:student(studentidvarchar2studentnamevarchar2)数据: studentidstudentname 001 001 002       002 002       003第2步建包:CREATEORREPLACEPACKAGEPKG_SELECT_STUDENTASTYPET_CURSORISREFCURSOR;PROCEDUREGetusername(us_idINVarchar2,cur_nameOUTT_CURSOR);第3步建包体:CREATEORREPLACEPACK

2、AGE BODYPKG_SELECT_STUDENTASPROCEDUREGetusername(us_idINvarchar2,cur_nameOUTT_CURSOR)ISBEGINOPENcur_nameFORSELECT*FROMstudentWHEREstudentid=us_id;ENDGetusername;ENDPKG_select_student;第4步我的webform.cs文件:在文本框输入ID,点击按钮查询,有多条数据填充显示在gatagrid里面privatevoidButton3_Click(objectsender,System.EventArg

3、se){stringusid=this.TextBox1.Text.Trim();Selectopst=newSelectop();this.DataGrid1.DataSource=st.GetSelectAll(usid);this.DataGrid1.DataBind();}publicDataSetGetSelectAll(stringusid){OracleConnectioncon=DBoracle.CreateConnection();OracleCommandcommand=newOracleCommand();DataSetds=newDataSet();

4、try{command.Connection=con;command.CommandText="PKG_select_student.Getusername";command.CommandType=CommandType.StoredProcedure;command.Parameters.Add("us_id",OracleType.VarChar,10).Value=usid;command.Parameters.Add("cur_name",OracleType.Cursor);command.Parameters["cur_name"].Direction=Par

5、ameterDirection.Output;OracleDataAdapteradapter=newOracleDataAdapter(command);con.Open();//command.ExecuteNonQuery();//adapter.SelectCommand=command;adapter.Fill(ds);}catch(System.Exceptionex){throwex;}finally{con.Close();command.Dispose();//adapter.Dispose();}returnds;}oracle的存储过程返回记录集,关键

6、之处是要用游标。关于数据库的游标(cursor)大家肯定都接触不少,我们能通过OPEN,FETCH,CLOSE操作控制游标进行各种方便的操作,这方面的例子我就不在重复了。我们目前要介绍的是游标变量(cursorvariable)。类似游标,游标变量也是指向一个查询结果集的当前行。不同的是,游标变量能为所有类型相似(type-compatible)的查询打开,而并不是绑定到某一个特定的查询。通过游标变量,你能在数据库的数据提取中获得更多的方便。首先是建立表:    CREATETABLELIHUAN.BILL_POINTS  (    POINTS_IDNUMBER(10,0

7、)NOTNULL,    CUSTOMER_IDNUMBER(10,0)NOTNULL,    BILL_POINT_NONUMBER(2,0)DEFAULT1NOTNULL,    CONSTRAINTPK_BILL_POINTSPRIMARYKEY(POINTS_ID)  )  /其次,建PACKAGE  CREATEORREPLACEPACKAGELIHUAN.YY_PKG_BILL_POINT_NO/*取得用户的所有计费电序号*/  IS  TYPET_CURSORISREFCURSOR;     PROC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。