Récupérer une clé primaire auto-incrémentée lors d'une insertion [Résolu]

Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
- - Dernière réponse : TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
- 1 mars 2005 à 16:46
Voila, toute ma question est dans le titre, :-)

En fait, j'ai ma table avec deux éléments (une clé primaire FK auto-incrémentée et une image)

Ca marche nickel. Seulement, j'aimerais récupérer lors de l'insertion
cette clé primaire (car sinon, après, je vais pas faire un recherche de
l'image, ca serait trop bête)



Voici mon code pour ceux que ca intéresse :



//Récupération de l'image

byte[] Buffer = new byte[30000];

FileStream File = new FileStream(ImageName+".gif",FileMode.Open,FileAccess.Read);

BinaryReader BR = new BinaryReader(File);

File.Seek(0,SeekOrigin.Begin);

BR.Read(Buffer,0,(int)(File.Length));

BR.Close();

File.Close();



//Sauvegarde dans la base

SqlConnection SqlConnect = new SqlConnection(ConnectString);

SqlCommand Command = new SqlCommand("INSERT INTO img (IMAGE) VALUES (@IMAGE)",SqlConnect);

Command.Parameters.Add(new SqlParameter("@IMAGE",SqlDbType.Image));

Command.Parameters["@IMAGE"].Value = Buffer;

SqlConnect.Open();

Command.ExecuteNonQuery();

SqlConnect.Close();



Voili, merci à tous

Billou_13
Bask En Force
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
38
3
Merci
Tu trouveras ce que tu veux ici ou ici
Mx

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de MorpionMx
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
12
3
Merci
Utilise ExecuteScalar avec la commande SELECT @@Identity

::|The S@ib|::
MVP C#.NET

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TheSaib
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
3
Merci
voila mon code : merci les gars, je vous doit une fière chandelle :



//Récupération de l'image

byte[] Buffer = new byte[30000];

FileStream File = new FileStream(ImageName+".gif",FileMode.Open,FileAccess.Read);

BinaryReader BR = new BinaryReader(File);

File.Seek(0,SeekOrigin.Begin);

BR.Read(Buffer,0,(int)(File.Length));

BR.Close();

File.Close();



//Sauvegarde dans la base

SqlConnection SqlConnect = new SqlConnection(ConnectString);

string Request = "INSERT INTO img (IMAGE) VALUES (@IMAGE);";

Request += "DECLARE @ID int;";

Request +"SET @ID @@IDENTITY;";

Request += "SELECT @ID;";



SqlCommand Command = new SqlCommand(Request,SqlConnect);

Command.Parameters.Add(new SqlParameter("@IMAGE",SqlDbType.Image));

Command.Parameters["@IMAGE"].Value = Buffer;

SqlConnect.Open();

int ID = (int) Command.ExecuteScalar();

SqlConnect.Close();

return(ID);

Billou_13
Bask En Force

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de billou_13
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
déjà ?!? , merci de ta rapidité, j'y v de ce pas !



Merci beaucoup

Billou_13
Bask En Force
Commenter la réponse de billou_13
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
12
0
Merci
d'ailleur la solutionde fab est encore mieux car elle combine les deux.

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
Merci les gars, ca a l'air d'être du bon !

Je poste mon bon code dès que j'ai réussi le test LOL

Billou_13
Bask En Force
Commenter la réponse de billou_13
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
12
0
Merci
Deriens

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib