Procédure stockée en SQL Serveur

Résolu
denis -  
 lefaucheux -
help please

comment résoudre cette énigme ?

procédure stockée : create procedure test
as
declare @flag integer
update ... (c'est une requête update)
set @flag=1
select @flag
go

cette procédure fonctionne parfaitement en l'appelant depuis php ou avec le query analyser (comprendre la requête est exécutée et la valeur "1" est retournée)...

mais en VB, casse-tête... impossible de récupérer la valeur --> message d'erreur : impossible d'exécuter bla bla quand le recordset est fermé...

et mon code VB est :

set rset = cn.execute "test"
msgbox rset.fields(0).value

--> ça bloque sur cette dernière ligne...

C'est pour mon mémoire, je bloque depuis 4 jours et j'en ai MARRRRRRRE !

Please help

Denis

2 réponses

  1. lefaucheux
     
    Si ton UPDATE s'est bien passé , il peut te retourner le nombre de lignes modifiées , non ?

    faire une fonction appelé "exeRequete(byval requete as string) as integer" dans une classe

    dim scConnect as sqlconnection = opensql()
    dim objetSQLcommand as new sqlcommand
    dim result as integer =0

    objetSQLcommand.commandtext = requete
    objetSQLcommand.connection = scconnect
    result = objetSQLcommand.ExecuteNonQuery()
    sqlClose(scConnect)
    return result

    requete etant "exec NomDeTaProcedure"

    si ton result>1 alors l'update a eu lieu.

    est ce que ca t'aide ?
    2
  2. nicolasnicolas
     
    dans mon analysur de requete :

    declare @plop int
    select @plop

    me retoure une colonne qui a comme nom "Aucun nom de colonne"

    declare @plop int
    select @plop as plop1

    me retourne une colonne avec un nom.... (plop1)

    Il se peux que le fait qu'il n'y a pas de nom a ta colonne gene ton recordset ....

    C'est une piste ...
    1