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

billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 1 mars 2005 à 15:59 - Dernière réponse : TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention
- 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 

Votre réponse

7 réponses

Meilleure réponse
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 1 mars 2005 à 16:22
3
Merci
Tu trouveras ce que tu veux ici ou ici
Mx

Merci MorpionMx 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de MorpionMx
Meilleure réponse
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 1 mars 2005 à 16:26
3
Merci
Utilise ExecuteScalar avec la commande SELECT @@Identity

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

Merci TheSaib 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de TheSaib
Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 1 mars 2005 à 16:44
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

Merci billou_13 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de billou_13
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 1 mars 2005 à 16:26
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
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 1 mars 2005 à 16:29
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
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 1 mars 2005 à 16:38
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
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 1 mars 2005 à 16:46
0
Merci
Deriens

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.