?? lockmanager.cls
字號:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "LockManager"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'--------------------------------
'時間:2001.11.12
'版權:北京用友軟件股份有限公司
'設計:章景峰
'編碼:章景峰
'說明:U8資金管理---數據對象
'--------------------------------
Option Explicit
'加鎖
Public Function LockIt(DataSourceName As String, OID As OIDObject, UserName As String, WorkStation As String) As Boolean
Dim rec As New ADODB.Recordset
Dim sql As String
If con.State = adStateClosed Then con.Open DataSourceName
sql = "Select * From FD_Locks Where locks_id = '" & OID.ID & "'"
rec.Open sql, con, adOpenDynamic, adLockOptimistic
If rec.EOF Then
'----鎖定當前記錄
rec.AddNew
rec!locks_id = OID.ID
rec!user_name = UserName
rec!workstation_name = WorkStation
rec.Update
Else
If rec!user_name = UserName And rec!workstation_name = WorkStation Then
'UnlockIt DataSourceName, OID
Else
'----當前記錄已被別人鎖定,返回錯誤信息
Err.Raise ErrRecordHasLocked, , "當前記錄已被工作站[" & rec!workstation_name & "]上的用戶[" & rec!user_name & "]鎖定,請過會兒再試!"
End If
End If
rec.Close
Set rec = Nothing
'----
LockIt = True
End Function
'解鎖
Public Function UnlockIt(DataSourceName As String, OID As OIDObject, Optional UserName As String) As Boolean
Dim sql As String
Dim iRecordsAffected As Long
If con.State = adStateClosed Then con.Open DataSourceName
sql = "Delete From FD_Locks Where locks_id = '" & OID.ID & "'"
con.Execute sql, iRecordsAffected
If iRecordsAffected = 0 Then
Err.Raise ErrRecordCannotBeUnlocked, , "當前記錄不能被解鎖!"
End If
UnlockIt = True
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -