您的位置:首页 > 数据库

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

2007-05-21 15:48 435 查看

'过程名称: clsDataBase


'功能描述:数据库的相关操作


'创建人员及日期:zzz2006-11


'说 明: 在实例化本类后,切记要记住释放






Public Class clsDataBaseClass clsDataBase




'数据库类型定义




Public Enum eDBTypeEnum 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()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()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()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()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()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()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()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()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()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()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()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()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()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()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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: