📄 wdabase.vb
字号:
Imports System.Data
Imports System.Data.OracleClient
Public Class WDABase
Implements IDisposable
'Class level variables that are available to classes that instantiate me
Public SQL As String
Public Connection As OracleConnection
Public Command As OracleCommand
Public DataAdapter As OracleDataAdapter
Public DataReader As OracleDataReader
Private disposed As Boolean = False
Public Sub New()
'Build the SQL connection string and initialize the Connection object
Connection = New OracleConnection( _
"Data Source=" & My.Settings.DataSource & ";" & _
"User ID=" & My.Settings.UserID & ";" & _
"Password=" & My.Settings.Password & ";")
End Sub
' IDisposable
Private Overloads Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposed Then
If disposing Then
' TODO: put code to dispose managed resources
If Not DataReader Is Nothing Then
DataReader.Close()
DataReader = Nothing
End If
If Not DataAdapter Is Nothing Then
DataAdapter.Dispose()
DataAdapter = Nothing
End If
If Not Command Is Nothing Then
Command.Dispose()
Command = Nothing
End If
If Not Connection Is Nothing Then
Connection.Close()
Connection.Dispose()
Connection = Nothing
End If
End If
' TODO: put code to free unmanaged resources here
End If
Me.disposed = True
End Sub
#Region " IDisposable Support "
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Overloads Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
Protected Overrides Sub Finalize()
' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
Dispose(False)
MyBase.Finalize()
End Sub
#End Region
Public Sub OpenConnection()
Try
Connection.Open()
Catch OleDbExceptionErr As OracleException
Throw New System.Exception(OleDbExceptionErr.Message, _
OleDbExceptionErr.InnerException)
Catch InvalidOperationExceptionErr As InvalidOperationException
Throw New System.Exception(InvalidOperationExceptionErr.Message, _
InvalidOperationExceptionErr.InnerException)
End Try
End Sub
Public Sub CloseConnection()
Connection.Close()
End Sub
Public Sub InitializeCommand()
If Command Is Nothing Then
Try
Command = New OracleCommand(SQL, Connection)
'See if this is a stored procedure
If Not SQL.ToUpper.StartsWith("SELECT ") _
And Not SQL.ToUpper.StartsWith("INSERT ") _
And Not SQL.ToUpper.StartsWith("UPDATE ") _
And Not SQL.ToUpper.StartsWith("DELETE ") Then
Command.CommandType = CommandType.StoredProcedure
End If
Catch OleDbExceptionErr As OracleException
Throw New System.Exception(OleDbExceptionErr.Message, _
OleDbExceptionErr.InnerException)
End Try
End If
End Sub
Public Sub AddParameter(ByVal Name As String, ByVal Type As OracleType, _
ByVal Size As Integer, ByVal Value As Object)
Try
Command.Parameters.Add(Name, Type, Size).Value = Value
Catch OleDbExceptionErr As OracleException
Throw New System.Exception(OleDbExceptionErr.Message, _
OleDbExceptionErr.InnerException)
End Try
End Sub
Public Sub AddParameter(ByVal Name As String, ByVal Type As OracleType, _
ByVal Direction As ParameterDirection)
Try
Command.Parameters.Add(Name, Type).Direction = Direction
Catch OracleExceptionErr As OracleException
Throw New System.Exception(OracleExceptionErr.Message, _
OracleExceptionErr.InnerException)
End Try
End Sub
Public Sub InitializeDataAdapter()
Try
DataAdapter = New OracleDataAdapter
DataAdapter.SelectCommand = Command
Catch OleDbExceptionErr As OracleException
Throw New System.Exception(OleDbExceptionErr.Message, _
OleDbExceptionErr.InnerException)
End Try
End Sub
Public Sub FillDataSet(ByRef oDataSet As DataSet, ByVal TableName As String)
Try
InitializeCommand()
InitializeDataAdapter()
DataAdapter.Fill(oDataSet, TableName)
Catch OleDbExceptionErr As OracleException
Throw New System.Exception(OleDbExceptionErr.Message, _
OleDbExceptionErr.InnerException)
Finally
Command.Dispose()
Command = Nothing
DataAdapter.Dispose()
DataAdapter = Nothing
End Try
End Sub
Public Sub FillDataTable(ByRef oDataTable As DataTable)
Try
InitializeCommand()
InitializeDataAdapter()
DataAdapter.Fill(oDataTable)
Catch OleDbExceptionErr As OracleException
Throw New System.Exception(OleDbExceptionErr.Message, _
OleDbExceptionErr.InnerException)
Finally
Command.Dispose()
Command = Nothing
DataAdapter.Dispose()
DataAdapter = Nothing
End Try
End Sub
Public Function ExecuteStoredProcedure() As Integer
Try
OpenConnection()
ExecuteStoredProcedure = Command.ExecuteNonQuery()
Catch ExceptionErr As Exception
Throw New System.Exception(ExceptionErr.Message, _
ExceptionErr.InnerException)
Finally
CloseConnection()
End Try
End Function
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -