OVH Cloud OVH Cloud

Récupérer la valeur d'un champs auto

4 réponses
Avatar
Niko
Bonjour,

J'ai un formulaire qui me permet de stocker des valeurs=20
qui seront affich=E9es dans des tableau.
Pour se faire, j'ai d=E9termin=E9 une table ligne et une=20
table cellule.
Je voudrais que lorsque l'on clique sur enregistrer, on=20
ajoute une ligne dans ma base (la cl=E9 primaire est id un=20
num=E9ro auto), et qu'on r=E9cup=E8re aussitot l'id de cette=20
ligne, car l'id de la ligne est une cl=E9 =E9trang=E8re dans la=20
table cellule, et me permet de d=E9terminser les cellules=20
appartenant =E0 une ligne.

Comment peut-on r=E9cup=E8rer le num=E9ro auto d'un champs que=20
l'on vient juste de cr=E9er ?

Merci.

Niko

4 réponses

Avatar
Zim
Voir la variable @@IDENTITY

Zim

"Niko" a écrit dans le message de
news:e04c01c43c0b$6277c620$
Bonjour,

J'ai un formulaire qui me permet de stocker des valeurs
qui seront affichées dans des tableau.
Pour se faire, j'ai déterminé une table ligne et une
table cellule.
Je voudrais que lorsque l'on clique sur enregistrer, on
ajoute une ligne dans ma base (la clé primaire est id un
numéro auto), et qu'on récupère aussitot l'id de cette
ligne, car l'id de la ligne est une clé étrangère dans la
table cellule, et me permet de déterminser les cellules
appartenant à une ligne.

Comment peut-on récupèrer le numéro auto d'un champs que
l'on vient juste de créer ?

Merci.

Niko
Avatar
Niko
Tu pourrais préciser un peu ?
En fait, j'exécute ma commande en faisant un
return(macmd.ExecuteNonQuery() == 1)
pour vérifier qu'il y a bien un enregistrement qui a été
ajouté dans la base.
Comment est-ce que je dois récupérer la valeur de
l'indice alors ?

Merci.

Niko


-----Message d'origine-----
Voir la variable @@IDENTITY

Zim

"Niko" a écrit


dans le message de
news:e04c01c43c0b$6277c620$
Bonjour,

J'ai un formulaire qui me permet de stocker des valeurs
qui seront affichées dans des tableau.
Pour se faire, j'ai déterminé une table ligne et une
table cellule.
Je voudrais que lorsque l'on clique sur enregistrer, on
ajoute une ligne dans ma base (la clé primaire est id un
numéro auto), et qu'on récupère aussitot l'id de cette
ligne, car l'id de la ligne est une clé étrangère dans la
table cellule, et me permet de déterminser les cellules
appartenant à une ligne.

Comment peut-on récupèrer le numéro auto d'un champs que
l'on vient juste de créer ?

Merci.

Niko


.



Avatar
Zim
INSERT table VALUES (...)
SELECT @@IDENTITY

Insert une nouvelle ligne puis renvoie la valeur du champs auto-incrémenter.
Crées une procédure stockée qui te retourne @@IDENTITY...

Zim.


"Niko" a écrit dans le message de
news:e12c01c43c14$69b1a9c0$
Tu pourrais préciser un peu ?
En fait, j'exécute ma commande en faisant un
return(macmd.ExecuteNonQuery() == 1)
pour vérifier qu'il y a bien un enregistrement qui a été
ajouté dans la base.
Comment est-ce que je dois récupérer la valeur de
l'indice alors ?

Merci.

Niko


-----Message d'origine-----
Voir la variable @@IDENTITY

Zim

"Niko" a écrit


dans le message de
news:e04c01c43c0b$6277c620$
Bonjour,

J'ai un formulaire qui me permet de stocker des valeurs
qui seront affichées dans des tableau.
Pour se faire, j'ai déterminé une table ligne et une
table cellule.
Je voudrais que lorsque l'on clique sur enregistrer, on
ajoute une ligne dans ma base (la clé primaire est id un
numéro auto), et qu'on récupère aussitot l'id de cette
ligne, car l'id de la ligne est une clé étrangère dans la
table cellule, et me permet de déterminser les cellules
appartenant à une ligne.

Comment peut-on récupèrer le numéro auto d'un champs que
l'on vient juste de créer ?

Merci.

Niko


.



Avatar
Christophe RIT [MS]
Hello,

Il suffit que juste apres cette instruction tu fasse un macmd.ExecuteReader
avec une requete SELECT @@IDENTITY comme dans l'exemple suivant :

string myConnectionString = "";
OdbcConnection myConnection = new OdbcConnection(myConnectionString);
OdbcCommand myCommand = new OdbcCommand("SELECT @@IDENTITY",
myConnection);
myConnection.Open();
OdbcDataReader myReader myCommand.ExecuteReader(CommandBehavior.CloseConnection);
while(myReader.Read())
{
Console.WriteLine(myReader.GetString(0));
}
myReader.Close();

Cordialement,
Christophe

"Niko" a écrit dans le message de
news:e12c01c43c14$69b1a9c0$
Tu pourrais préciser un peu ?
En fait, j'exécute ma commande en faisant un
return(macmd.ExecuteNonQuery() == 1)
pour vérifier qu'il y a bien un enregistrement qui a été
ajouté dans la base.
Comment est-ce que je dois récupérer la valeur de
l'indice alors ?

Merci.

Niko


-----Message d'origine-----
Voir la variable @@IDENTITY

Zim

"Niko" a écrit


dans le message de
news:e04c01c43c0b$6277c620$
Bonjour,

J'ai un formulaire qui me permet de stocker des valeurs
qui seront affichées dans des tableau.
Pour se faire, j'ai déterminé une table ligne et une
table cellule.
Je voudrais que lorsque l'on clique sur enregistrer, on
ajoute une ligne dans ma base (la clé primaire est id un
numéro auto), et qu'on récupère aussitot l'id de cette
ligne, car l'id de la ligne est une clé étrangère dans la
table cellule, et me permet de déterminser les cellules
appartenant à une ligne.

Comment peut-on récupèrer le numéro auto d'un champs que
l'on vient juste de créer ?

Merci.

Niko


.