2 回答
TA贡献1795条经验 获得超7个赞
您需要使用可以添加参数的ADODB.Command对象。这基本上就是这样的
Sub adotest()
Dim Cn As ADODB.Connection
Dim Cm As ADODB.Command
Dim Pm As ADODB.Parameter
Dim Rs as ADODB.Recordset
Set Cn = New ADODB.Connection
Cn.Open "mystring"
Set Cm = New ADODB.Command
With Cm
.ActiveConnection = Cn
.CommandText = "SELECT * FROM table WHERE parentid=?;"
.CommandType = adCmdText
Set Pm = .CreateParameter("parentid", adNumeric, adParamInput)
Pm.Value = 1
.Parameters.Append Pm
Set Rs = .Execute
End With
End Sub
CommandText中的问号是参数的占位符。我相信,但我不是肯定的,你追加参数的顺序必须与问号的顺序相匹配(当你有多个时)。不要被愚弄,参数被命名为“parentid”,因为我不认为ADO关心除了识别之外的名称。
添加回答
举报