Hello,

Voilà, je ne sais pas si je vais vers la bonne direction alors je vais être assez complet.

Dans un vbscript j'ai donc une connexion ADO (ADODB.Connection) que j'utilisais jusqu'ici avec la méthode Execute pour tapper ma BDD en SQL.
Problème : certaines erreurs SQL ne sont pas remontées dans l'objet vbscript "err" ni dans la collection ADO cn.errors.

Donc je suis tombé sur un autre objet ADO : Command qui semble-t-il permet de passer des paramètres de, et vers SQL.
Mais je n'arrive pas à comprendre comment ça marche...

voici mon code :
Code VBS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
set cmddb = WScript.CreateObject("ADODB.Command")
cmddb.ActiveConnection = cndb
cmddb.CommandType = 1 'adCmdText pour une requête SQL simple
cmddb.CommandText = SQLtext 'voir le code SQL plus loin
cmddb.Parameters.Append cmddb.CreateParameter("@toto", 20, 4) '20 pour adBigInt (mon paramètre sera un entier) 4 pour adParamReturnValue (je veux remonter une info de SQL vers VBS)
 
set result = cmdsrvstl.Execute
 
for each objParam in cmddb.Parameters
	wscript.echo objParam
next
Partie SQL j'ai essayé :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
declare @toto as integer
set @toto = 12
Mais à chaque fois mon "wscript.echo objParam" me renvoie un un string vide...

Comment spécifier au code SQL de renvoyer quelque chose dans mon paramètre "toto" ?

De plus, si mon code SQL contient plus de 2 opérations, mon recordset de retour n'est pas créé.
(Par exemple si je fais un UPDATE puis un SELECT dans le même ".Execute", le résultat du SELECT n'arrive pas dans mon recordset "result")

Merci d'avance pour votre aide

** Ce message est aussi posté dans la catégorie SQL Server **