代码:

Public Function GetData(ByVal procDate As String) As ArrayListTry

Dim conn As New Oracle.DataAccess.Client.OracleConnection

Dim cmd As New Oracle.DataAccess.Client.OracleCommand

conn.ConnectionString = constring

cmd.Connection = conn

cmd.CommandType = CommandType.StoredProcedure

cmd.CommandText = "xxxxxxx.xxxxx"

conn.Open()

Dim para1 As New Oracle.DataAccess.Client.OracleParameter

Dim para2 As New Oracle.DataAccess.Client.OracleParameter

Dim rdr As Oracle.DataAccess.Client.OracleDataReader

With cmd

.Parameters.Clear()

.Parameters.Add("procDate", Oracle.DataAccess.Client.OracleDbType.Varchar2) _

.Value = procDate

.Parameters.Add("objCur", Oracle.DataAccess.Client.OracleDbType.RefCursor) _

.Direction = ParameterDirection.Output

End With

Dim ds As DataSet = New DataSet

Dim oraDa As Oracle.DataAccess.Client.OracleDataAdapter = _

New Oracle.DataAccess.Client.OracleDataAdapter(cmd)

Dim dt As DataTable

oraDa.Fill(ds)

dt = ds.Tables(0)

Dim dtList As New ArrayList

If Not dt Is Nothing AndAlso dt.Rows.Count > 0 Then

Dim iCount As Integer

For iCount = 0 To dt.Rows.Count - 1

dtList.Add(CStr(dt.Rows(iCount).Item(0)) & " " & CStr(dt.Rows(iCount).Item(1)))

Next

End If

Return dtList

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Function

需要注意的是,用到的CONNECTION和COMMAND对象的声明,现在用的是

Dim conn As New Oracle.DataAccess.Client.OracleConnection

Dim cmd As New Oracle.DataAccess.Client.OracleCommand

项目中一直用的是:

Dim cmd As IDbCommand = Nothing

Dim con As IDbConnection这样给存储过程传入的参数中,没有RefCursor类型,最后还是搞定了,呵呵。

可惜领导认为这样和其他的功能在DB访问上不太一样,最后还是没有使用,

不管怎样算是了解了一点VB.NET中调用存储过程的方法。

vb.net调用oracle存储过程,今天搞好了VB.NET调用Oracle存储过程返回游标的问题相关推荐

  1. vb.net调用oracle存储过程,vbnet2008连接oracle增删改查学习笔记(经典crud_含存储过程).doc...

    vbnet2008连接oracle增删改查学习笔记(经典crud_含存储过程).doc 我的VBNETORACLE增删改查学习笔记(本源码在VBNET2008下测试通过)学习VBNET有一段时间了,之 ...

  2. Oracle(四):PL/SQL、存储函数、存储过程、触发器

    一.PL/SQL (一)什么是 PL/SQL PL/SQL(Procedure Language/SQL)是 Oracle 对 sql 语言的过程化扩展,指 在 SQL 命令语言中增加了过程处理语句( ...

  3. jdbc oracle 函数,Oracle系列:(33)JDBC访问Oracle的存储过程和存储函数

    1.存储过程 1.1.准备SQL-- 定义存储过程 create or replace procedure get_rax(salary in number,rax out number) as -- ...

  4. oracle数据存储过程 中的循环 for 拼接字符串,oracle存储过程中使用字符串拼接

    1.使用拼接符号"||" v_sql := 'SELECT * FROM UserInfo WHERE ISDELETED = 0 AND ACCOUNT =''' || vAcc ...

  5. VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件

    VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...

  6. java异步调用数据库存储过程详解,java中如何调用存储过程

    create procedure getsum @n int =0 as declare @sum int declare @i int set @sum=0 set @i=0 while @i 在线 ...

  7. oralce用存储过程实现分页 以及 用java调用这个存储过程的代码

    1  PL SQL  创建一个包 2 PL SQL 存储过程分页第一张图 3 PL SQL 存储过程分页第二张图 4 java 调用存储过程第一张图 5 java 调用存储过程 第二张图

  8. oracle中如何创建一个过程,如何开发ORACLE存储过程

    一. 概述 Oracle存储过程开发的要点是: • 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程; • 在Oracle数据库中创建一个存储过程; • 在Oracle ...

  9. oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...

    C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...

最新文章

  1. 最新的10个优质Python开源项目
  2. 开源 java CMS - FreeCMS2.6 静态化管理
  3. 深入理解CSS3 Animation 帧动画
  4. [转]TCP(HTTP)长连接和短连接区别和怎样维护长连接
  5. 201521123009《Java程序设计》第14周学习总结
  6. (转)Three challenges you’re going to face when building a chatbot
  7. postforobject 设置代理_OAuth2RestTemplate中的代理配置
  8. python机器学习常用包
  9. 一个虚拟社交公司的融资历程
  10. 在 CentOS7 安装 ELK
  11. 虚幻引擎插件 - Maya LiveLink - 安装和使用
  12. 魔域手游安卓修改服务器地址,魔域手游服务端商业版
  13. 数据库删除数据的方式
  14. 图书馆管理系统(使用数据库实现)
  15. 前端三大主流框架如何去选择?
  16. 动手学习数据分析——第一部分
  17. 系统检测,是否引证:否
  18. Python连接多种数据库的方式
  19. keepalived高可用集群实战项目
  20. 自学编程,10个程序员学习必收藏的编程网站,你知道几个?

热门文章

  1. 均线金叉 不破支撑BCH有望延续反弹
  2. Spring 自动装配及其注解
  3. svn idea使用
  4. Windows下的鱿鱼(Squid)
  5. Contiki Process概述
  6. 闭包block多种应用方式
  7. MyBatis Review——输入输出映射
  8. Linux 学习日记 2: 目录结构和文件操作
  9. 左神算法基础班3_13深度拷贝含有随机指针的链表
  10. window msdn原版下载