VB6 + SQL-Server: Wie kann ich mit ADODB.Command eine Abfrage mit benannten Parametern ausführen?

Ich habe versucht, eine parametrisierte Abfrage mit ADODB.Command auszuführen. Ich weiß, dass ich "?" für Parameter, aber meine Abfragen sind ziemlich groß und ich möchte wirklich nicht die genaue Reihenfolge der Parameter verfolgen. Ich habe Folgendes versucht:

objCmd.CommandType = adCmdText
objCmd.CommandText = "SELECT ... WHERE field1=@p_Field1 ...."    
Dim objParam As ADODB.Parameter
Set objParam = objCmd.CreateParameter("@p_Field1" ...)
objCmd.Parameters.Append objParam
...
objCmd.Open

Es funktioniert für gespeicherte Prozedurparameter (Festlegen von CommandType = adCmdStoredProc, offensichtlich), aber ich kann dies in einer gespeicherten Prozedur aufgrund der dynamischen Natur der Abfrage selbst nicht tun. Wenn ich versuche, die Abfrage auszuführen, wird folgende Fehlermeldung angezeigt:

 Must declare the scalar variable "@p_Field1"

Gibt es eine andere Möglichkeit, die es nicht erfordert, gespeicherte Prozeduren zu verwenden oder die Parameterwerte in der Abfrage selbst zu verketten und überhaupt keine Parameter zu verwenden?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage