Page 1 sur 1

[R] SQL Retour UPDATE OUTPUT

Posté : mer. 23 mars 2022 16:44
par scorp84
Bonjour à tous,

Voici mon problème, j'ai une requête SQL dans laquelle je rajoute 1 à un compteur et j'aimerai récupérer la nouvelle valeur.

Voici ma requête :
update par set parvn1 = parvn1 + 1 output inserted.parvn1 where parcle = 'max_sms_code'

Elle fonctionne très bien sur l'analyseur de requête mais dans Autoit, elle ne me retourne rien, ni chaine ni tableau.

Code : Tout sélectionner

$BDD_con = _SQLStartup()

	_sqlConnect(-1,$BDD_ipbdd,$BDD_bdd,$BDD_login,$BDD_mdp)

	$recordset= _SQLExecute(-1,$BDD_sql)
	MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$recordset' & @CRLF & @CRLF & 'Return:' & @CRLF & $recordset) ;### Debug MSGBOX

	_ArrayDisplay($recordset)
Comment pourrais-je récupérer cette valeur ?

Merci d'avance pour vos conseils.

Amicalement.

BM

Re: [++] SQL Retour UPDATE OUTPUT

Posté : mer. 23 mars 2022 17:09
par scorp84
Bonsoir,

J'ai trouvé la réponse :

Code : Tout sélectionner

$constrim="DRIVER={SQL Server};SERVER=xxx;DATABASE=xxx;uid=xxx;pwd=xxx;"
$adCN = ObjCreate ("ADODB.Connection") ; <== Create SQL connection
$adCN.Open ($constrim) ; <== Connect with required credentials
MsgBox(0,"",$constrim )

if @error Then
    MsgBox(0, "ERROR", "Failed to connect to the database")
    Exit
EndIf

$sQuery = "update par set parvn1 = parvn1 + 1 output inserted.parvn1 where parcle = 'max_sms_code'"

$result = $adCN.Execute($sQuery)
MsgBox(0, "", $result.Fields( "parvn1" ).Value)
$adCN.Close ; ==> Close the database
Bonne soirée :-)

Amicalement.

BM