OVH Cloud OVH Cloud

retourne l'index

3 réponses
Avatar
Long YE-SU
Bonjour,

j'utilise Visual Basic avec ADO pour lancer une reqûete SQL

je fais un INSERT dans une base

et je voudrais retourner le numéro d'index sur la clé primaire....

je sais que avec la variable @@Identity , cela marche bien
mais je ne sais pas comment le récupérer dans VB
de plus j'utilise une store procedure pour faire l'insert

car j'utilise la fonction :

query = "exec insert_la_ligne '2' "
rs.open query , cn


auriez vous une idée ?

Salutations
Long YE-SU

3 réponses

Avatar
Bouarroudj Mohamed
Vous pouvez le faire soit :

1. Avec un parametre OUTPUT
Dans la SP ajouter un parametre : @ID int OUTPUT
et apres l'insert : select @ID = @@Identity

2. Le mettre dans le code de retour de votre SP
select @ID = @@Identity
return @ID

Avec ADO vous pouvez recuperer la valeur avec la methode
sqlcommand.CreateParameter on utilisant la direction adParamOutput pour le
1er cas et adParamReturnValue pour le 2eme cas.

Je pense que avec ADO 2.1 les choses sont plus simples, regade cette article
http://support.microsoft.com/kb/q233299/


Mohamed bouarroudj
http://www.sqldbtools.com/




"Long YE-SU" wrote in message
news:4434fdf4$0$18344$
Bonjour,

j'utilise Visual Basic avec ADO pour lancer une reqûete SQL

je fais un INSERT dans une base

et je voudrais retourner le numéro d'index sur la clé primaire....

je sais que avec la variable @@Identity , cela marche bien
mais je ne sais pas comment le récupérer dans VB
de plus j'utilise une store procedure pour faire l'insert

car j'utilise la fonction :

query = "exec insert_la_ligne '2' "
rs.open query , cn


auriez vous une idée ?

Salutations
Long YE-SU




Avatar
Long YE-SU
vous êtes sur que la commande SQLcommand existe ?

je ne l'ai pas trouver dans l'aide de VB ?

Salutations
Long YE-SU


"Bouarroudj Mohamed" a écrit dans le message de
news:
Vous pouvez le faire soit :

1. Avec un parametre OUTPUT
Dans la SP ajouter un parametre : @ID int OUTPUT
et apres l'insert : select @ID = @@Identity

2. Le mettre dans le code de retour de votre SP
select @ID = @@Identity
return @ID

Avec ADO vous pouvez recuperer la valeur avec la methode
sqlcommand.CreateParameter on utilisant la direction adParamOutput pour le
1er cas et adParamReturnValue pour le 2eme cas.

Je pense que avec ADO 2.1 les choses sont plus simples, regade cette


article
http://support.microsoft.com/kb/q233299/


Mohamed bouarroudj
http://www.sqldbtools.com/




"Long YE-SU" wrote in message
news:4434fdf4$0$18344$
> Bonjour,
>
> j'utilise Visual Basic avec ADO pour lancer une reqûete SQL
>
> je fais un INSERT dans une base
>
> et je voudrais retourner le numéro d'index sur la clé primaire....
>
> je sais que avec la variable @@Identity , cela marche bien
> mais je ne sais pas comment le récupérer dans VB
> de plus j'utilise une store procedure pour faire l'insert
>
> car j'utilise la fonction :
>
> query = "exec insert_la_ligne '2' "
> rs.open query , cn
>
>
> auriez vous une idée ?
>
> Salutations
> Long YE-SU
>
>




Avatar
Bouarroudj Mohamed
SqlCommand est une classe et non une commande
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatasqlclientsqlcommandclasstopic.asp

Vous utilisez peut etre ADO et non ADO .Net, dans ce cas il faut utiliser
ADODB.Command

Voici un exemple pour avoir la valeur "Identity" avec ADO et ADO .Net
http://www.eggheadcafe.com/articles/20030729.asp


Mohamed bouarroudj
http://www.sqldbtools.com/


"Long YE-SU" wrote in message
news:44362e6a$0$18308$
vous êtes sur que la commande SQLcommand existe ?

je ne l'ai pas trouver dans l'aide de VB ?

Salutations
Long YE-SU