自己写的数据库基类(VB.NET_WinForm)

' 过程名称: 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 StringAs 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 StringAs 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 StringAs 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 StringByVal 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 StringByVal 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 StringByVal 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 StringAs 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 StringByVal 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 StringByVal 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 StringByVal 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 StringByVal 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

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值