- ''**多次调用同一存储过程**
- DIM MyComm,UserID,UserName
- UserName = ""
- Set MyComm = Server.CreateObject("ADODB.Command")
- for UserID = 1 to 10
- with MyComm
- .ActiveConnection = MyConStr ''MyConStr是数据库连接字串
- .CommandText = "getUserName" ''指定存储过程名
- .CommandType = 4 ''表明这是一个存储过程
- .Prepared = true ''要求将SQL命令先行编译
- if UserID = 1 then
- .Parameters.append .CreateParameter("@UserID",3,1,4,UserID)
- .Parameters.append .CreateParameter("@UserName",200,2,40)
- .Execute
- else
- ''重新给入参赋值(此时参数值不发生变化的入参以及出参不必重新声明)
- .Parameters("@UserID") = UserID
- .Execute
- end if
- end with
- UserName = UserName + MyComm(1) + "," ''也许你喜欢用数组存储
- next
- Set MyComm = Nothing
通过以上代码可以看出:重复调用同一存储过程时,只需为值发生改变的输入参数重新赋值即可,这一方法在有多个输入输出参数,且每次调用时只有一个输入参数的值发生变化时,可以大大减少代码量。
请看本文下篇>>