Comment puis-je associer des Paramètres pour les objets de Commande dans ADO avec VBScript?

J'ai été une ADO VBScript qui a besoin pour accepter les paramètres et d'intégrer ces paramètres dans la chaîne de Requête qui est envoyée à la base de données. Je continue à recevoir des erreurs lors de l'Enregistrement de l'Objet du Jeu tente de l'ouvrir. Si je passe une requête sans paramètres, le jeu d'enregistrements s'ouvre et je peux travailler avec les données. Quand je lance le script par le biais d'un débogueur, l'objet de commande n'indique pas une valeur pour le paramètre de l'objet. Il me semble que je suis absent quelque chose qui associe l'objet de Commande et les paramètres de l'objet, mais je ne sais pas quoi. Ici c'est un peu du Code VBScript:

...
'Open Text file to collect SQL query string'
Set fso = CreateObject("Scripting.FileSystemObject")
fileName = "C:\SQLFUN\Limits_ADO.sql"
Set tso = fso.OpenTextFile(fileName, FORREADING)

SQL = tso.ReadAll

'Create ADO instance'
 connString = "DRIVER={SQL Server};SERVER=myserver;UID=MyName;PWD=notapassword;   Database=favoriteDB"
 Set connection = CreateObject("ADODB.Connection")
 Set cmd = CreateObject("ADODB.Command")

  connection.Open connString
  cmd.ActiveConnection = connection
  cmd.CommandText = SQL
  cmd.CommandType = adCmdText

  Set paramTotals = cmd.CreateParameter
  With paramTotals
       .value = "tot%"
       .Name = "Param1"
  End With

  'The error occurs on the next line'
  Set recordset = cmd.Execute

  If recordset.EOF then
      WScript.Echo "No Data Returned"
  Else
      Do Until recordset.EOF
            WScript.Echo recordset.Fields.Item(0) ' & vbTab & recordset.Fields.Item(1)
            recordset.MoveNext
      Loop
  End If

La chaîne SQL que j'utilise est assez standard, sauf que je veux passer un paramètre. C'est quelque chose comme ceci:

SELECT column1
FROM table1
WHERE column1 IS LIKE ?

Je comprends que l'ADO doit remplacer le "?" avec la valeur de paramètre-je attribuer dans le script. Le problème que je vois c'est que l'objet Paramètre indique la valeur correcte, mais la commande de l'objet champ de paramètre est null, selon mon débogueur.

OriginalL'auteur Krashman5k | 2010-04-01