(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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95
