以锁定应用程序资源(sp_getapplock / sp_releaseapplock)为例:
sp_getapplock没有返回参数(output类型的),只是在SP中用return来返回值
加锁:
Dim cmd As ADODB.Command Set cmd = New ADODB.Command cmd.ActiveConnection = cnn cnn.BeginTrans cnn.Execute "use master" cmd.CommandType = adCmdStoredProc cmd.CommandText = "sp_getapplock" 系统识别格式为:'"{ ? = call sp_getapplock(?,?,?,?) }" cmd.Prepared = True cmd.Parameters(1) = "lock name" '资源锁的名称 cmd.Parameters(2) = "Exclusive" cmd.Parameters(3) = "Transaction" cmd.Parameters(4) = 0 '用于接收SP 中return关键字返回的值 cmd.Execute MsgBox cmd.Parameters(0) 'display return value
解锁:
Dim cmd As ADODB.Command Set cmd = New ADODB.Command cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc cmd.CommandText = "sp_releaseapplock" cmd.Parameters(1) = "lock name" '被锁资源名称 cmd.Parameters(2) = "Transaction" cmd.Execute MsgBox cmd.Parameters(0)
|