用datatable存儲oracle輸出值

本文介绍了一种使用Visual Basic.NET来调用Oracle存储过程的方法。具体步骤包括:获取数据库连接、定义输入参数、选择存储过程类型及名称、添加输入参数,并定义输出参数,最后执行读取操作并将结果加载到DataTable中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


        'GetDBConn()自定義的包含connectstring的oracle db連接
        Dim conn As OracleConnection = GetDBConn()
        
        
'判斷是否打開
        If conn.State <> ConnectionState.Open Then
             
Return Nothing
        
End If
        
       
' 參數
        Dim para1 As New OracleParameter("fields", OracleDbType.Varchar2, ParameterDirection.Input)
        para1.Value 
= fields
        
Dim para2 As New OracleParameter("viewname", OracleDbType.Varchar2, ParameterDirection.Input)
        para2.Value 
= viewname
        
Dim para3 As New OracleParameter("whereclause", OracleDbType.Varchar2, ParameterDirection.Input)
        para3.Value 
= whereclause
        
Dim para4 As New OracleParameter("orderby", OracleDbType.Varchar2, ParameterDirection.Input)
        para4.Value 
= orderby

        
Dim para5 As New OracleParameter("userid", OracleDbType.Int32, ParameterDirection.Input)
        para5.Value 
= intWorkID

       
'選擇command類型為StoredProcedure以及Procedure名
        Dim command As New OracleCommand
        
command.Connection = conn
        
command.CommandText = "pkgcursor.getcur"
        
command.CommandType = CommandType.StoredProcedure
      
       
'參數輸入
        command.Parameters.Add(para1)
        
command.Parameters.Add(para2)
        
command.Parameters.Add(para3)
        
command.Parameters.Add(para4)
        
command.Parameters.Add(para5)
       
'outpara是procedure內定義的輸出函數
        Dim outpara As New OracleParameter("cur", OracleDbType.RefCursor,  Data.ParameterDirection.Output)
        
command.Parameters.Add(outpara)
       
       
'接受輸出值
        Dim dr As OracleDataReader
        dr 
= command.ExecuteReader()
        
'用datatable裝輸出值
        Dim dt As New DataTable
        dt.Load(dr)
        
Return dt
        
   

 

转载于:https://www.cnblogs.com/iswszheng/archive/2008/09/24/1297788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值