'
过程名称: clsDataBase
' 功能描述:数据库的相关操作
' 创建人员及日期:zzz2006-11
' 说 明: 在实例化本类后,切记要记住释放
Public Class clsDataBase
'数据库类型定义
Public Enum eDBType
DB_OLEDB = 0
DB_SQL = 1
DB_ORACLE = 2
End Enum
'ODBC数据连接字符串,在此指定文件的路径(不含有文件名),查询时使用SELECT * FROM [文件名]
'"SourceDB=" & CurDir() & ";SourceType=DBF;DSN=Visual FoxPro Tables;Collate=Machine;Exclusive=No;BackgroundFetch=Yes;"
'过程名称: DataBaseOpen
'功能描述:打开数据库
'接收参数:
'返回参数:
'创建人员及日期:
Public Function DataBaseOpen(ByRef Con_SQL As SqlClient.SqlConnection, _
ByVal sUserName As String, _
ByVal sPassWord As String, _
ByVal sDataName As String, _
ByVal sDataURL As String) As Boolean
Dim sConstring As String
sConstring = "server=" & sDataURL & ";uid=" & sUserName & ";pwd= " & sPassWord & ";database=" & sDataName
SqlConnectString = sConstring
Con_SQL = New SqlClient.SqlConnection(sConstring)
Try
Con_SQL.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
Public Function DataBaseOpen(ByRef Con_SQL As SqlClient.SqlConnection, _
ByVal sConnectionString As String) As Boolean
Con_SQL = New SqlClient.SqlConnection(sConnectionString)
Try
Con_SQL.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
Public Function DataBaseOpen(ByRef Con_OLEDB As OleDb.OleDbConnection, _
ByVal sUserName As String, _
ByVal sPassWord As String, _
ByVal sDataName As String, _
Optional ByVal sDataURL As String = ".", _
Optional ByVal sConnectString As String = "") As Boolean
Dim sConstring As String
If sConnectString.Length = 0 Then
sConstring = "server=" & sDataURL & ";uid=" & sUserName & ";pwd= " & sPassWord & ";database=" & sDataName
Else
sConstring = sConnectString
End If
Con_OLEDB = New OleDb.OleDbConnection(sConstring)
OLEDBConnectString = sConstring
Try
Con_OLEDB.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
Public Function DataBaseOpen(ByRef Con_OLEDB As OleDb.OleDbConnection, _
ByVal sConnectString As String) As Boolean
Con_OLEDB = New OleDb.OleDbConnection(sConnectString)
Try
Con_OLEDB.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
'过程名称: DataBaseClose
'功能描述:关闭数据库
'接收参数:
'返回参数:
'创建人员及日期:
Public Function DataBaseClose(ByRef Con_SQL As SqlClient.SqlConnection) As Boolean
Try
Con_SQL.Close()
DataBaseClose = True
Con_SQL = Nothing
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseClose = False
End Try
End Function
Public Function DataBaseClose(ByRef Con_OLEDB As OleDb.OleDbConnection) As Boolean
Try
Con_OLEDB.Close()
DataBaseClose = True
Con_OLEDB = Nothing
Catch ex As Exception
Throw New Exception("Error In DataBaseClose!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseClose = False
End Try
End Function
'过程名称: GetDataSet
'功能描述:得到数据集
'接收参数:
'返回参数:
'创建人员及日期:
Public Function GetDataSet(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Data.DataSet
Dim p_sqlDa As SqlClient.SqlDataAdapter
Dim p_ds As New DataSet
Try
p_sqlDa = New SqlClient.SqlDataAdapter(sQuery, Con_SQL)
p_sqlDa.Fill(p_ds)
GetDataSet = p_ds
Catch ex As Exception
Throw New Exception("Error In GetDataSet!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataSet = Nothing
Finally
p_sqlDa.Dispose()
p_ds.Dispose()
End Try
End Function
Public Function GetDataSet(ByVal sQuery As String, ByVal Con_OLEDB As OleDb.OleDbConnection) As Data.DataSet
Dim p_sqlDa As OleDb.OleDbDataAdapter
p_sqlDa = New OleDb.OleDbDataAdapter(sQuery, Con_OLEDB)
Dim p_ds As New DataSet
Try
p_sqlDa.Fill(p_ds)
GetDataSet = p_ds
Catch ex As Exception
Throw New Exception("Error In GetDataSet!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataSet = Nothing
Finally
p_sqlDa.Dispose()
p_ds.Dispose()
End Try
End Function
'过程名称: GetDataTable
'功能描述:得到数据表
'接收参数:
'返回参数:
'创建人员及日期:
Public Function GetDataTable(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Data.DataTable
Dim p_sqlDa As SqlClient.SqlDataAdapter
Dim p_Table As New DataTable
Try
p_sqlDa = New SqlClient.SqlDataAdapter(sQuery, Con_SQL)
p_sqlDa.Fill(p_Table)
GetDataTable = p_Table
Catch ex As Exception
Throw New Exception("Error In GetDataTable!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataTable = Nothing
Finally
p_Table.Dispose()
If Not p_sqlDa Is Nothing Then
p_sqlDa.Dispose()
End If
End Try
End Function
Public Function GetDataTableRows(ByVal sQuery As String) As Integer
Dim p_sqlDa As SqlClient.SqlDataAdapter
Dim Con_SQL As New SqlClient.SqlConnection(SqlConnectString)
p_sqlDa = New SqlClient.SqlDataAdapter(sQuery, Con_SQL)
Dim p_Table As New DataTable
Try
p_sqlDa.Fill(p_Table)
GetDataTableRows = p_Table.Rows.Count
Catch ex As Exception
Throw New Exception("Error In GetDataTable!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataTableRows = 0
Finally
p_Table.Dispose()
p_sqlDa.Dispose()
Con_SQL.Dispose()
End Try
End Function
Public Function GetDataTable(ByVal sQuery As String, ByVal Con_OLEDB As OleDb.OleDbConnection) As Data.DataTable
Dim p_OleDa As OleDb.OleDbDataAdapter
Dim p_Table As New DataTable
Try
p_OleDa = New OleDb.OleDbDataAdapter(sQuery, Con_OLEDB)
p_OleDa.Fill(p_Table)
GetDataTable = p_Table
Catch ex As Exception
Throw New Exception("Error In GetDataTable!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataTable = Nothing
Finally
p_Table.Dispose()
p_OleDa.Dispose()
End Try
End Function
'过程名称: ExecuteCommand
'功能描述:执行SQL语句
'接收参数:
'返回参数:
'创建人员及日期:
Public Function ExecuteCommand(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Integer
Dim p_Cmd As SqlClient.SqlCommand
Try
p_Cmd = New SqlClient.SqlCommand(sQuery, Con_SQL)
ExecuteCommand = p_Cmd.ExecuteNonQuery
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(ExecuteCommand)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
End Try
End Function
Public Function ExecuteCommand(ByVal sQuery As String, ByVal Con_OLEDB As OleDb.OleDbConnection) As Integer
Dim p_Cmd As OleDb.OleDbCommand
Try
p_Cmd = New OleDb.OleDbCommand(sQuery, Con_OLEDB)
ExecuteCommand = p_Cmd.ExecuteNonQuery
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(ExecuteCommand)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
End Try
End Function
'过程名称: ExecuteCommandTran
'功能描述:执行SQL语句(带有事务的)
'接收参数:
'返回参数:
'创建人员及日期:
Public Function ExecuteCommandTran(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Int32
Dim sqlTrans As SqlClient.SqlTransaction
sqlTrans = Con_SQL.BeginTransaction()
Try
Dim Command As New SqlClient.SqlCommand
Command.Connection = Con_SQL
Command.CommandText = sQuery
Command.Transaction = sqlTrans
ExecuteCommandTran = Command.ExecuteNonQuery()
sqlTrans.Commit()
Catch ex As Exception
sqlTrans.Rollback()
Throw New Exception("Error In ExecuteTransaction!!!(ExecuteCommandTran)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
ExecuteCommandTran = -1
End Try
End Function
End Class
' 功能描述:数据库的相关操作
' 创建人员及日期:zzz2006-11
' 说 明: 在实例化本类后,切记要记住释放
Public Class clsDataBase
'数据库类型定义
Public Enum eDBType
DB_OLEDB = 0
DB_SQL = 1
DB_ORACLE = 2
End Enum
'ODBC数据连接字符串,在此指定文件的路径(不含有文件名),查询时使用SELECT * FROM [文件名]
'"SourceDB=" & CurDir() & ";SourceType=DBF;DSN=Visual FoxPro Tables;Collate=Machine;Exclusive=No;BackgroundFetch=Yes;"
'过程名称: DataBaseOpen
'功能描述:打开数据库
'接收参数:
'返回参数:
'创建人员及日期:
Public Function DataBaseOpen(ByRef Con_SQL As SqlClient.SqlConnection, _
ByVal sUserName As String, _
ByVal sPassWord As String, _
ByVal sDataName As String, _
ByVal sDataURL As String) As Boolean
Dim sConstring As String
sConstring = "server=" & sDataURL & ";uid=" & sUserName & ";pwd= " & sPassWord & ";database=" & sDataName
SqlConnectString = sConstring
Con_SQL = New SqlClient.SqlConnection(sConstring)
Try
Con_SQL.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
Public Function DataBaseOpen(ByRef Con_SQL As SqlClient.SqlConnection, _
ByVal sConnectionString As String) As Boolean
Con_SQL = New SqlClient.SqlConnection(sConnectionString)
Try
Con_SQL.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
Public Function DataBaseOpen(ByRef Con_OLEDB As OleDb.OleDbConnection, _
ByVal sUserName As String, _
ByVal sPassWord As String, _
ByVal sDataName As String, _
Optional ByVal sDataURL As String = ".", _
Optional ByVal sConnectString As String = "") As Boolean
Dim sConstring As String
If sConnectString.Length = 0 Then
sConstring = "server=" & sDataURL & ";uid=" & sUserName & ";pwd= " & sPassWord & ";database=" & sDataName
Else
sConstring = sConnectString
End If
Con_OLEDB = New OleDb.OleDbConnection(sConstring)
OLEDBConnectString = sConstring
Try
Con_OLEDB.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
Public Function DataBaseOpen(ByRef Con_OLEDB As OleDb.OleDbConnection, _
ByVal sConnectString As String) As Boolean
Con_OLEDB = New OleDb.OleDbConnection(sConnectString)
Try
Con_OLEDB.Open()
DataBaseOpen = True
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseOpen = False
End Try
End Function
'过程名称: DataBaseClose
'功能描述:关闭数据库
'接收参数:
'返回参数:
'创建人员及日期:
Public Function DataBaseClose(ByRef Con_SQL As SqlClient.SqlConnection) As Boolean
Try
Con_SQL.Close()
DataBaseClose = True
Con_SQL = Nothing
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(DataBaseClose)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseClose = False
End Try
End Function
Public Function DataBaseClose(ByRef Con_OLEDB As OleDb.OleDbConnection) As Boolean
Try
Con_OLEDB.Close()
DataBaseClose = True
Con_OLEDB = Nothing
Catch ex As Exception
Throw New Exception("Error In DataBaseClose!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
DataBaseClose = False
End Try
End Function
'过程名称: GetDataSet
'功能描述:得到数据集
'接收参数:
'返回参数:
'创建人员及日期:
Public Function GetDataSet(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Data.DataSet
Dim p_sqlDa As SqlClient.SqlDataAdapter
Dim p_ds As New DataSet
Try
p_sqlDa = New SqlClient.SqlDataAdapter(sQuery, Con_SQL)
p_sqlDa.Fill(p_ds)
GetDataSet = p_ds
Catch ex As Exception
Throw New Exception("Error In GetDataSet!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataSet = Nothing
Finally
p_sqlDa.Dispose()
p_ds.Dispose()
End Try
End Function
Public Function GetDataSet(ByVal sQuery As String, ByVal Con_OLEDB As OleDb.OleDbConnection) As Data.DataSet
Dim p_sqlDa As OleDb.OleDbDataAdapter
p_sqlDa = New OleDb.OleDbDataAdapter(sQuery, Con_OLEDB)
Dim p_ds As New DataSet
Try
p_sqlDa.Fill(p_ds)
GetDataSet = p_ds
Catch ex As Exception
Throw New Exception("Error In GetDataSet!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataSet = Nothing
Finally
p_sqlDa.Dispose()
p_ds.Dispose()
End Try
End Function
'过程名称: GetDataTable
'功能描述:得到数据表
'接收参数:
'返回参数:
'创建人员及日期:
Public Function GetDataTable(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Data.DataTable
Dim p_sqlDa As SqlClient.SqlDataAdapter
Dim p_Table As New DataTable
Try
p_sqlDa = New SqlClient.SqlDataAdapter(sQuery, Con_SQL)
p_sqlDa.Fill(p_Table)
GetDataTable = p_Table
Catch ex As Exception
Throw New Exception("Error In GetDataTable!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataTable = Nothing
Finally
p_Table.Dispose()
If Not p_sqlDa Is Nothing Then
p_sqlDa.Dispose()
End If
End Try
End Function
Public Function GetDataTableRows(ByVal sQuery As String) As Integer
Dim p_sqlDa As SqlClient.SqlDataAdapter
Dim Con_SQL As New SqlClient.SqlConnection(SqlConnectString)
p_sqlDa = New SqlClient.SqlDataAdapter(sQuery, Con_SQL)
Dim p_Table As New DataTable
Try
p_sqlDa.Fill(p_Table)
GetDataTableRows = p_Table.Rows.Count
Catch ex As Exception
Throw New Exception("Error In GetDataTable!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataTableRows = 0
Finally
p_Table.Dispose()
p_sqlDa.Dispose()
Con_SQL.Dispose()
End Try
End Function
Public Function GetDataTable(ByVal sQuery As String, ByVal Con_OLEDB As OleDb.OleDbConnection) As Data.DataTable
Dim p_OleDa As OleDb.OleDbDataAdapter
Dim p_Table As New DataTable
Try
p_OleDa = New OleDb.OleDbDataAdapter(sQuery, Con_OLEDB)
p_OleDa.Fill(p_Table)
GetDataTable = p_Table
Catch ex As Exception
Throw New Exception("Error In GetDataTable!!!" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
GetDataTable = Nothing
Finally
p_Table.Dispose()
p_OleDa.Dispose()
End Try
End Function
'过程名称: ExecuteCommand
'功能描述:执行SQL语句
'接收参数:
'返回参数:
'创建人员及日期:
Public Function ExecuteCommand(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Integer
Dim p_Cmd As SqlClient.SqlCommand
Try
p_Cmd = New SqlClient.SqlCommand(sQuery, Con_SQL)
ExecuteCommand = p_Cmd.ExecuteNonQuery
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(ExecuteCommand)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
End Try
End Function
Public Function ExecuteCommand(ByVal sQuery As String, ByVal Con_OLEDB As OleDb.OleDbConnection) As Integer
Dim p_Cmd As OleDb.OleDbCommand
Try
p_Cmd = New OleDb.OleDbCommand(sQuery, Con_OLEDB)
ExecuteCommand = p_Cmd.ExecuteNonQuery
Catch ex As Exception
Throw New Exception("Error In ExecuteTransaction!!!(ExecuteCommand)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
End Try
End Function
'过程名称: ExecuteCommandTran
'功能描述:执行SQL语句(带有事务的)
'接收参数:
'返回参数:
'创建人员及日期:
Public Function ExecuteCommandTran(ByVal sQuery As String, ByVal Con_SQL As SqlClient.SqlConnection) As Int32
Dim sqlTrans As SqlClient.SqlTransaction
sqlTrans = Con_SQL.BeginTransaction()
Try
Dim Command As New SqlClient.SqlCommand
Command.Connection = Con_SQL
Command.CommandText = sQuery
Command.Transaction = sqlTrans
ExecuteCommandTran = Command.ExecuteNonQuery()
sqlTrans.Commit()
Catch ex As Exception
sqlTrans.Rollback()
Throw New Exception("Error In ExecuteTransaction!!!(ExecuteCommandTran)" & vbCrLf & _
"Source:" & ex.Source.ToString() + " Message:" + ex.Message.ToString())
ExecuteCommandTran = -1
End Try
End Function
End Class