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

Résolu
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 - 1 mars 2005 à 15:59
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre 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

7 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
1 mars 2005 à 16:22
Tu trouveras ce que tu veux ici ou ici
Mx
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
1 mars 2005 à 16:26
Utilise ExecuteScalar avec la commande SELECT @@Identity

::|The S@ib|::
MVP C#.NET
3
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
1 mars 2005 à 16:44
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
3
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
1 mars 2005 à 16:26
déjà ?!? , merci de ta rapidité, j'y v de ce pas !



Merci beaucoup

Billou_13
Bask En Force
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
1 mars 2005 à 16:29
d'ailleur la solutionde fab est encore mieux car elle combine les deux.

::|The S@ib|::
MVP C#.NET
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
1 mars 2005 à 16:38
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
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
1 mars 2005 à 16:46
Deriens

::|The S@ib|::
MVP C#.NET
0
Rejoignez-nous