(DBConnectionPool) 数据连接池类
1
Imports System.IO
2
Imports System.Xml
3
Imports System.Data.OleDb
4
Imports System.Collections
5
Imports System.Threading
6
Imports ItardaLib
7
Imports ItardaLib.Utility
8
9
Public Class DBConnectionPool
10
11
Public Shared dBConnection As Object
12
Public Shared dBTransaction As OleDbTransaction
13
14
Public Shared Function GetDBConnection() As Object
15
' DB连接
16
If TypeName(dBConnection) = "Nothing" Then
17
dBConnection = ItardaApplication.ConnectionManager.Connect()
18
BeginTransaction()
19
AddHandler DirectCast(dBConnection, OleDbConnection).StateChange, AddressOf StateChangeEventHandler
20
AddHandler DirectCast(dBConnection, OleDbConnection).InfoMessage, AddressOf OleDbInfoMessageEventHandler
21
End If
22
Return (dBConnection)
23
24
End Function
25
26
Public Shared Sub StateChangeEventHandler( _
27
ByVal sender As Object, _
28
ByVal e As StateChangeEventArgs _
29
)
30
' MsgBox(e.CurrentState)
31
32
33
End Sub
34
35
36
37
38
Public Shared Sub OleDbInfoMessageEventHandler( _
39
ByVal sender As Object, _
40
ByVal e As OleDbInfoMessageEventArgs _
41
)
42
MsgBox(e.Message)
43
End Sub
44
45
46
Public Shared Function GetDBConnection(ByVal p_blReconnect As Boolean) As Object
47
48
If p_blReconnect Then
49
CloseDBConnection()
50
End If
51
Return GetDBConnection()
52
53
End Function
54
55
Public Shared Function CloseDBConnection() As Boolean
56
ItardaApplication.ConnectionManager.Disconnect()
57
dBConnection = Nothing
58
Return (True)
59
End Function
60
61
Public Shared Function BeginTransaction() As Boolean
62
63
dBTransaction = DirectCast(dBConnection, OleDbConnection).BeginTransaction()
64
65
End Function
66
Public Shared Function SystemLock() As Boolean
67
' SQL
68
Dim strSql As String
69
' Command
70
Dim objOleDbCommand As OleDbCommand
71
72
strSql = "UPDATE ""LOCK"" SET ""LOCKCODE"" = ""LOCKCODE"" WHERE ""LOCKCODE"" = '00'"
73
74
objOleDbCommand = New OleDbCommand(strSql, DirectCast(dBConnection, OleDbConnection))
75
objOleDbCommand.Transaction = DBConnectionPool.dBTransaction
76
77
objOleDbCommand.Prepare()
78
objOleDbCommand.ExecuteNonQuery()
79
80
81
End Function
82
Public Shared Function EndTransaction(ByVal p_Commit As Boolean) As Boolean
83
If p_Commit Then
84
dBTransaction.Commit()
85
Else
86
Try
87
dBTransaction.Rollback()
88
Catch e As Exception
89
End Try
90
End If
91
End Function
92
93
94
End Class
95
Imports System.IO2
Imports System.Xml3
Imports System.Data.OleDb4
Imports System.Collections5
Imports System.Threading6
Imports ItardaLib7
Imports ItardaLib.Utility8

9
Public Class DBConnectionPool10

11
Public Shared dBConnection As Object12
Public Shared dBTransaction As OleDbTransaction13

14
Public Shared Function GetDBConnection() As Object15
' DB连接16
If TypeName(dBConnection) = "Nothing" Then17
dBConnection = ItardaApplication.ConnectionManager.Connect()18
BeginTransaction()19
AddHandler DirectCast(dBConnection, OleDbConnection).StateChange, AddressOf StateChangeEventHandler20
AddHandler DirectCast(dBConnection, OleDbConnection).InfoMessage, AddressOf OleDbInfoMessageEventHandler21
End If22
Return (dBConnection)23

24
End Function25

26
Public Shared Sub StateChangeEventHandler( _27
ByVal sender As Object, _28
ByVal e As StateChangeEventArgs _29
)30
' MsgBox(e.CurrentState)31

32

33
End Sub34

35

36

37

38
Public Shared Sub OleDbInfoMessageEventHandler( _39
ByVal sender As Object, _40
ByVal e As OleDbInfoMessageEventArgs _41
)42
MsgBox(e.Message)43
End Sub44

45

46
Public Shared Function GetDBConnection(ByVal p_blReconnect As Boolean) As Object47

48
If p_blReconnect Then49
CloseDBConnection()50
End If51
Return GetDBConnection()52

53
End Function54

55
Public Shared Function CloseDBConnection() As Boolean56
ItardaApplication.ConnectionManager.Disconnect()57
dBConnection = Nothing58
Return (True)59
End Function60

61
Public Shared Function BeginTransaction() As Boolean62

63
dBTransaction = DirectCast(dBConnection, OleDbConnection).BeginTransaction()64

65
End Function66
Public Shared Function SystemLock() As Boolean67
' SQL68
Dim strSql As String69
' Command70
Dim objOleDbCommand As OleDbCommand71

72
strSql = "UPDATE ""LOCK"" SET ""LOCKCODE"" = ""LOCKCODE"" WHERE ""LOCKCODE"" = '00'"73

74
objOleDbCommand = New OleDbCommand(strSql, DirectCast(dBConnection, OleDbConnection))75
objOleDbCommand.Transaction = DBConnectionPool.dBTransaction76

77
objOleDbCommand.Prepare()78
objOleDbCommand.ExecuteNonQuery()79

80

81
End Function82
Public Shared Function EndTransaction(ByVal p_Commit As Boolean) As Boolean83
If p_Commit Then84
dBTransaction.Commit()85
Else86
Try87
dBTransaction.Rollback()88
Catch e As Exception89
End Try90
End If91
End Function92

93

94
End Class95


浙公网安备 33010602011771号