您需要使用可以添加參數的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關心該名稱而非識別名稱。
謝謝,你的代碼工作正常:) – Alexey 2012-04-28 10:07:18
我相信你是正確的參數順序。當我來自C#.Net,然後編寫VBScript時,這讓我感到沮喪。 – Coops 2013-02-11 10:56:42
或者你也可以.. 。CommandText =「SELECT * FROM table WHERE parentid =」&myparam & ";「 – 2015-04-08 10:16:25