认真工作,天天向上

不断的学习,不断的总结

导航

(DBConnectionPool) 数据连接池类

 1Imports System.IO
 2Imports System.Xml
 3Imports System.Data.OleDb
 4Imports System.Collections
 5Imports System.Threading
 6Imports ItardaLib
 7Imports ItardaLib.Utility
 8
 9Public 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 BooleanAs 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 BooleanAs 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
94End Class

95

posted on 2007-01-05 16:55  MYOOP  阅读(1033)  评论(0编辑  收藏  举报