如何锁定这张表

ken_hz 2001-06-22 10:31:00
Public Function GetNextID(ByVal LicenseID As Long, ByVal VolumeID As Long, ByVal IDName As String, Optional ByVal StepNumber As Long = 1) As Long
Dim rs As ADODB.Recordset
Dim oCnn As ADODB.Connection
Dim sSql As String

80 On Error GoTo ErrHnd
81 Set rs = New ADODB.Recordset
82 Set oCnn = New ADODB.Connection

84 sSql = "Select IDValue From NextID Where IDName='" & IDName & "'"
85 rs.Open sSql, "FILEDSN=ODAdmin"

87 If rs.EOF = False Then
88 GetNextID = rs!IDValue
89 sSql = "Update NextID Set IDValue=" & (GetNextID + StepNumber) & " Where IDName='" & IDName & "'"
90 Else
91 sSql = "Insert NextID (IDName,IDValue) Values ('" & IDName & "'," & StepNumber & ")"
End If

94 oCnn.Open "FILEDSN=ODAdmin"
95 oCnn.Execute sSql

97 GetObjectContext.SetComplete
98 GetNextID = GetNextID + StepNumber
99 Set rs = Nothing
100 Set oCnn = Nothing
101 Exit Function
ErrHnd:
103 GetObjectContext.SetAbort
104 GetNextID = -1
105 Set rs = Nothing
106 Set oCnn = Nothing
End Function

执行到95行时NextID表被锁定,但我想在执行到85行时锁定NextID表,解决并发的问题,
请问各位有什么办法?
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ken_hz 2001-06-22
  • 打赏
  • 举报
回复
喂,没人知道吗??????????????????
????????????????????????
??????????????????????????
ken_hz 2001-06-22
  • 打赏
  • 举报
回复
我的意思是执行到85行时其它进程不能读取NextID这张表。
ken_hz 2001-06-22
  • 打赏
  • 举报
回复
To superjs(真剑神):
你给的方法好象不灵哦。
superjs 2001-06-22
  • 打赏
  • 举报
回复
rs.Open sSql, "FILEDSN=ODAdmin",true,true

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧