Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [c# et sql server] @@Identity (récupérer un numéro auto) [ Archives / .NET ] (Kati83)

lundi 17 mai 2004 à 16:03:07 | [c# et sql server] @@Identity (récupérer un numéro auto)

Kati83

Bonjour,

Je voudrais savoir comment on fait pour récupérer l'id d'une ligne que l'on vient d'insérer et qui est un numéro auto.
J'ai trouvé des exemples dans la doc, mais ils sont en asp, et moi je voudrais pouvoir faire ça en c#

D'après ce que j'ai trouvé sur http://www.devparadise.com/technoweb/code/sql/A436.asp, il suffite de faire la requete insert suivie de ; SELECT @@IDENTITY as ID

Mais je ne parviens pas à le mettre en place avec c#

Merci pour votre aide.


*** Kati ***

mardi 18 mai 2004 à 00:44:36 | Re : [c# et sql server] @@Identity (récupérer un numéro auto)

jijedslenoir

Exemple de solution possible :
Ajout d'un nouveau fournisseur dans la table Suppliers de la base northwind


try
{
// Connexion a la base de donnee sql serveur
SqlConnection sqlConn = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=ORDI-JIJE\SQL");

// Commande d'insertion d'un nouveau fournisseur + retour de la valeur identity
SqlCommand sqlCmd = new SqlCommand("INSERT INTO Suppliers (CompanyName) VALUES ('Test');SELECT @@IDENTITY;", sqlConn);

// Ouvre la connexion
sqlCmd.Connection.Open();

// Execute la commande d'insertion avec lecture de l'identity
int iIdentity = Convert.ToInt32((decimal)sqlCmd.ExecuteScalar());

// Ferme la connexion à la base
sqlCmd.Connection.Close();

// Affiche l'identity du nouveau fournisseur
MessageBox.Show(string.Concat("Le nouveau fournisseur a pour ID : ", iIdentity.ToString()));
}
catch(Exception exc)
{
MessageBox.Show(string.Concat("Erreur : ", exc.Message));
}


Dans cette exemple, l'ajout du fournisseur est réalisé par une simple requete. Mais il est préférable d'utiliser des procedures stockées pour travailler sur une base de données...



Oui c'est moi, là-bas dans le noir!

mardi 18 mai 2004 à 09:46:29 | Re : [c# et sql server] @@Identity (récupérer un numéro auto)

Kati83

Ok, merci beaucoup pour ton aide.
En fait, j'utilise toujours les proc stockées, c plus propre je trouve...
En fait, j'avais fait une erreur toute bête : je n'utilisais pas executescalar, mias executereader, et il me générais des exceptions en rapport avec des cast invalides...
Bref, merci beaucoup, ça tourne impec maintenant !

Bonne journée

PS : très stylée la photo...

*** Kati ***

mercredi 2 novembre 2005 à 16:49:10 | Re : [c# et sql server] @@Identity (récupérer un numéro auto)

scoubidou944

C'est violent vos méthodes
ExecuteScalar() c'est bien beau mais si tu supprimes un element au milieu, à la prochain incrémentation ca pète si tu as activé la non gestion des doublons.

Notre amis le coq n'aurait pas une solution miracle en 2 lignes ?

----------------------------
C++ forever
C# amateur



Cette discussion est classé dans : récupérer, sql, numéro, auto, identity


Répondre à ce message

Sujets en rapport avec ce message

[C#] [SQL] Auto increment @@IDENTITY [ par scoubidou944 ] http://www.kamath.com/tutorials/tut007_identity.asp Article intéressant mais qui ne répond pas à ma question ;p @@IDENTITY est spécifique pour une co Récupérer des données dans une base SQL SERVER sans Dataset [ par dysko ] SltJ'aimerais savoir si c'est possible de récupérer des données dans une base SQL SERVER sans DataSet.Je veux en fait placer tout le contenu de la bas Récupérer Identifiant Auto avec Access [ par dysko ] Slt !Bin j'essaye de récupérer l'identifiant auto d'une table que j'ajoute dans Access...Mais j'arrive pas.. ça me renvoit 0Voila le source :DataRow m Comment récupérer numéro série du disque ? [ par ttvi2005 ] Bonjour à tous,Suite à un passage au Framework .NET 2.0, je voudrais savoir comment récupérer le numéro du disque dur en C#. Avant sous .NET 1.0, je p Récupérer le numéro de ligne d'un DatagridView [ par HansPrestat ] Bonjour,Je souhaiterai récupérer le numéro de la ligne de mon DataGridView quand je la sélectionne ou lorsque je clique dans une de ses céllule.PS: J' Récupération de plusieurs données Sql dans un tabeau [C#] [ par therainbow3 ] Bonjour, Pour le besoin d'une application j'ai besoin de récupérer plusieurs valeurs dans une base de données SQL via une requête "SELECT ALL" je sais récupérer numéro de version d'un assembly "mort" sous CF [ par leprov ] bonjour a tous. je cherche a récupérer le numéro de version d'un executable qui n'est pas en train de tourner, le tout sous compact framework (en bref pb pour se connecter a un fichier de base de données SQL SERVER 2005 [ par romagny13 ] Bonjour voila jai un probleme pour etablir dynamiquement la connexion a un fichier de base de données SQL SERVER 2005   cnn.ConnectionString DataSet Typé, insert et auto incrément [ par babe59 ] Bonjour,J'essaye d'utiliser les dataset typés en C# sous VS2005. J'arrive à faire des update, delete et insert mais je n'arrive pas à récupérer la val Acces aux donnée avec SQL serveur [ par wally88 ] Bonjour, j'ai un soucis peut on  acceder a une base de donnée sql serveur depuis le fichier .mdf ou .sql ou truc dans le genre?La je panique je trouve


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.