【发布时间】:2020-11-18 05:54:27
【问题描述】:
我的函数接受参数并执行 sql 查询,返回记录集,但返回时出错。
Public Function ExecuteParameters(sql As String, ParamArray Params() As Variant) As ADODB.Recordset
Dim cmd As New ADODB.Command
Dim inputParam As Variant
cmd.ActiveConnection = Procs.getConn
cmd.CommandText = sql
For Each inputParam In Params
Set inputParam = cmd.CreateParameter(, GetParameterType(inputParam), adParamInput, Len(Nz(inputParam, " ")), inputParam)
cmd.Parameters.Append inputParam
Next inputParam
cmd.CommandType = adCmdText
'errors out on this line
Set ExecuteParameters = cmd.Execute()
End Function
此代码正常工作,直到从函数返回记录集的行,它错误输出为overflow。我从教程中获得了此代码,但无法弄清楚问题所在,因此感谢您的帮助。
从这里调用函数:
Public Function OnDelete()
ExecuteParameters "DELETE * FROM ? WHERE ? = ?", "Students", "StudentID", 32
End Function
【问题讨论】:
-
您能否更新您的问题以显示您如何调用此函数。另外,我建议验证参数。
-
@BrianMStafford 添加了代码