vb.net oracle 更新数据库,VB.NET下连接Oracle数据库的范例

【IT168 技术资源】

当需要从VB.NET下连接Oracle数据时,你可以参考如下代码,在实际过程中,可以灵活运用:

Option Strict Off

Option Explicit On

Imports System.ComponentModel

Imports System.Data.OracleClient

Imports System.Data.OleDb

Public Class clsOleDB

Private SQLConnect As OracleConnection

Private SQLComm As OracleCommand

Private component As component

Private FileNo As Integer

Private FileName As String

Private SQLConnectString As String

Public Sub New()

MyBase.New()

Call Initial_DB_Setting()

End Sub

Private Sub Initial_DB_Setting()

On Error GoTo _Error

Dim key As Microsoft.Win32.RegistryKey

key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("....\\.....\\.....")

Dim Hosts As String = CType(key.GetValue("Hosts"), String)

Dim DataSource As String = CType(key.GetValue("DataSource"), String)

Dim UserId As String = CType(key.GetValue("UserId"), String)

Dim Password As String = CType(key.GetValue("Password"), String)

Dim ErrorLog As String = CType(key.GetValue("ErrorLog"), String)

key.Close()

FileNo = FreeFile()

FileName = ErrorLog.Trim & Format(Now, "yyyyMMddhhmmss") & ".TXT"

SQLConnectString = "User ID=" & UserId.Trim & ";Password =" & Password.Trim & ";Data Source=" & DataSource.Trim

SQLConnect = New OracleConnection(SQLConnectString)

SQLComm = SQLConnect.CreateCommand

Exit Sub

_Error:

Me.WriteErrLog(Err.Description, Err.Source)

End Sub

Public Function SQL_ExecuteQuery(ByVal paraSQLComm As String, Optional ByRef ErrMsg As String = "", Optional ByVal paraTransBase As Boolean = False) As DataTable

On Error GoTo l_Error

Dim DataAdapter As New OracleDataAdapter

If ConnectionStatus() = ConnectionState.Broken Or ConnectionStatus() = ConnectionState.Closed Then

Call Open()

End If

If paraTransBase Then

DataAdapter.SelectCommand = New OracleCommand(paraSQLComm, SQLConnect, SQLComm.Transaction)

Else

DataAdapter.SelectCommand = New OracleCommand(paraSQLComm, SQLConnect)

End If

SQL_ExecuteQuery = New DataTable

SQL_ExecuteQuery.TableName = "ResultTb"

DataAdapter.Fill(SQL_ExecuteQuery)

Exit Function

l_Error:

ErrMsg = Err.Description

WriteErrLog(Err.Description, paraSQLComm)

End Function

Public Function SQL_ExecuteNonQuery(ByVal paraSQLComm As String, Optional ByVal paraBLOBValue() As Byte = Nothing) As String

On Error GoTo l_Error

SQLComm = New OracleCommand(paraSQLComm, SQLConnect, SQLComm.Transaction)

If Not paraBLOBValue Is Nothing Then

SQLComm.Parameters.Add("@para1", paraBLOBValue)

End If

SQL_ExecuteNonQuery = SQLComm.ExecuteNonQuery()

SQL_ExecuteNonQuery = ""

Exit Function

l_Error:

SQL_ExecuteNonQuery = Err.Description

WriteErrLog(Err.Description, paraSQLComm)

End Function

Public Sub Open()

On Error GoTo l_Error

SQLConnect.Open()

Exit Sub

l_Error:

WriteErrLog(Err.Description)

End Sub

Public Sub Close()

On Error Resume Next

SQLConnect.Close()

End Sub

Public Sub BeginTrans()

SQLComm.Transaction = SQLConnect.BeginTransaction

End Sub

Public Sub CommitTrans()

SQLComm.Transaction.Commit()

End Sub

Public Sub RollbackTrans()

SQLComm.Transaction.Rollback()

End Sub

Public Function ConnectionStatus() As System.Data.ConnectionState

ConnectionStatus = SQLConnect.State

End Function

Private Sub WriteErrLog(ByVal paraErrMsg As String, Optional ByVal paraErrSQL As String = "")

FileOpen(FileNo, FileName, OpenMode.Append, OpenAccess.Write)

PrintLine(FileNo, paraErrMsg & "->" & paraErrSQL)

FileClose(FileNo)

End Sub

End Class

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值