vb.net调用oracle存储过程,今天搞好了VB.NET调用Oracle存储过程返回游标的问题
代码:
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存储过程返回游标的问题相关推荐
- vb.net调用oracle存储过程,vbnet2008连接oracle增删改查学习笔记(经典crud_含存储过程).doc...
vbnet2008连接oracle增删改查学习笔记(经典crud_含存储过程).doc 我的VBNETORACLE增删改查学习笔记(本源码在VBNET2008下测试通过)学习VBNET有一段时间了,之 ...
- Oracle(四):PL/SQL、存储函数、存储过程、触发器
一.PL/SQL (一)什么是 PL/SQL PL/SQL(Procedure Language/SQL)是 Oracle 对 sql 语言的过程化扩展,指 在 SQL 命令语言中增加了过程处理语句( ...
- jdbc oracle 函数,Oracle系列:(33)JDBC访问Oracle的存储过程和存储函数
1.存储过程 1.1.准备SQL-- 定义存储过程 create or replace procedure get_rax(salary in number,rax out number) as -- ...
- oracle数据存储过程 中的循环 for 拼接字符串,oracle存储过程中使用字符串拼接
1.使用拼接符号"||" v_sql := 'SELECT * FROM UserInfo WHERE ISDELETED = 0 AND ACCOUNT =''' || vAcc ...
- VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件
VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...
- java异步调用数据库存储过程详解,java中如何调用存储过程
create procedure getsum @n int =0 as declare @sum int declare @i int set @sum=0 set @i=0 while @i 在线 ...
- oralce用存储过程实现分页 以及 用java调用这个存储过程的代码
1 PL SQL 创建一个包 2 PL SQL 存储过程分页第一张图 3 PL SQL 存储过程分页第二张图 4 java 调用存储过程第一张图 5 java 调用存储过程 第二张图
- oracle中如何创建一个过程,如何开发ORACLE存储过程
一. 概述 Oracle存储过程开发的要点是: • 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程; • 在Oracle数据库中创建一个存储过程; • 在Oracle ...
- oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...
最新文章
- 最新的10个优质Python开源项目
- 开源 java CMS - FreeCMS2.6 静态化管理
- 深入理解CSS3 Animation 帧动画
- [转]TCP(HTTP)长连接和短连接区别和怎样维护长连接
- 201521123009《Java程序设计》第14周学习总结
- (转)Three challenges you’re going to face when building a chatbot
- postforobject 设置代理_OAuth2RestTemplate中的代理配置
- python机器学习常用包
- 一个虚拟社交公司的融资历程
- 在 CentOS7 安装 ELK
- 虚幻引擎插件 - Maya LiveLink - 安装和使用
- 魔域手游安卓修改服务器地址,魔域手游服务端商业版
- 数据库删除数据的方式
- 图书馆管理系统(使用数据库实现)
- 前端三大主流框架如何去选择?
- 动手学习数据分析——第一部分
- 系统检测,是否引证:否
- Python连接多种数据库的方式
- keepalived高可用集群实战项目
- 自学编程,10个程序员学习必收藏的编程网站,你知道几个?