Imports System.Data
Imports System.Data.SqlClient
'------------------------------------------------------------------------
' Class: sqlDatabaseConn and mdbDatabseConn
'
' Functions: Create(New), open(), close(), getData(), execSql(),
' execStoredProcedure()
'
' SQL databases use sqlConnection for the best preformance
' Access databases use oledConnection
'
' This functions will save time when switch tables from Access to SQL
' (The Interface for both Access and SQL is the same)
'
' Created by Daoying Ma, 2/19/07
'
'------------------------------------------------------------------------
Public Class sqlDatabaseConn
'connStr will have info of Server and Database
Private connStr As String
'dbConn is the connection to database, will keep open
Public dbConn As SqlConnection = Nothing
'Init a sqlDatabaseConn class
Public Sub New(ByVal dbServerName As String, ByVal dbName As String)
Try
'save sql database info
connStr = "DATA SOURCE=" & dbServerName & ";DATABASE=" & dbName & ";Trusted_Connection=yes"
Catch e As Exception
MsgBox("Error" & Err.Description)
End Try
End Sub
Public Function open() As Boolean
Try
If dbConn Is Nothing Then
'first time open the database
dbConn = New SqlConnection(connStr)
dbConn.Open()
End If
If dbConn.State = ConnectionState.Open Then
Return True
Else
'connect closed, reopen it
dbConn = New SqlConnection(connStr)
dbConn.Open()
If dbConn.State = ConnectionState.Open Then
Return True
Else
Return False
End If
End If
Catch e As Exception
MsgBox("Error:" & e.Message)
Return False
End Try
End Function
Public Sub close()
If Not dbConn Is Nothing Then
dbConn.Close()
End If
End Sub
Public Function getData(ByVal sqlStr As String) As DataSet
Dim myDA As SqlDataAdapter, myDataSet As DataSet
'run select query and return the result to a dataset
'this will transfer all you selected data from sql server to client side
'return the selected dataset if success, return an empty dataset if failed
myDataSet = New DataSet()
Try
myDA = New SqlDataAdapter(sqlStr, dbConn)
myDA.Fill(myDataSet)
Return myDataSet
Catch e As Exception
MsgBox("Error:" & e.Message)
myDataSet.Clear()
Return myDataSet
End Try
End Function
Public Function execSql(ByVal sqlStr As String) As Boolean
Dim myCom As SqlCommand
'run insert, update, delete with no return queries
Try
myCom = New SqlCommand(sqlStr, dbConn)
myCom.ExecuteNonQuery()
Return True
Catch e As Exception
MsgBox("Error:" & e.Message)
Return False
End Try
End Function
Public Function execStoredProcedure(ByVal proName As String) As Boolean
Return True
End Function
End Class
Public Class mdbDatabaseConn
'connStr will have info of Server and Database
Private connStr As String
'dbConn is the connection to database, will keep open
Public dbConn As New OleDb.OleDbConnection
'Init a mdbDatabaseConn class
Public Sub New(ByVal dbName As String)
Try
'access database
connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = " & dbName
Catch e As Exception
MsgBox("Error" & Err.Description)
End Try
End Sub
Public Function open() As Boolean
Try
If dbConn Is Nothing Then
'first time open the database
dbConn = New OleDb.OleDbConnection(connStr)
dbConn.Open()
End If
If dbConn.State = ConnectionState.Open Then
Return True
Else
'connect closed, reopen it
dbConn = New OleDb.OleDbConnection(connStr)
dbConn.Open()
If dbConn.State = ConnectionState.Open Then
Return True
Else
Return False
End If
End If
Catch e As Exception
MsgBox("Error:" & e.Message)
Return False
End Try
End Function
Public Sub close()
If Not dbConn Is Nothing Then
dbConn.Close()
End If
End Sub
Public Function getData(ByVal sqlStr As String) As DataSet
Dim myDA As OleDb.OleDbDataAdapter, myDataSet As DataSet
'run select query and return the result to a dataset
'this will transfer all you selected data from sql server to client side
'return the selected dataset if success, return an empty dataset if failed
myDataSet = New DataSet()
Try
myDA = New OleDb.OleDbDataAdapter(sqlStr, dbConn)
myDA.Fill(myDataSet)
Return myDataSet
Catch e As Exception
MsgBox("Error:" & e.Message)
myDataSet.Clear()
Return myDataSet
End Try
End Function
Public Function execSql(ByVal sqlStr As String) As Boolean
Dim myCom As OleDb.OleDbCommand
'run insert, update, delete with no return queries
Try
myCom = New OleDb.OleDbCommand(sqlStr, dbConn)
myCom.ExecuteNonQuery()
Return True
Catch e As Exception
MsgBox("Error:" & e.Message)
Return False
End Try
End Function
Public Function execStoredProcedure(ByVal proName As String) As Boolean
Return True
End Function
End Class