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

Votre réponse

7 réponses

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

Merci MorpionMx 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

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

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

Merci TheSaib 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de billou_13
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
- 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
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 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
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
- 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
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 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.