Bonjour à tous !!!
Je suis confronté à un problème que je ne sais résoudre.
J'ai une table super simple nommée "Année"
Elle possède deux colonnes :
Identifiant : uniqueidentifier
Libelle : char
Maintenant lorsque j'ajoute une ligne via mon application je souhaiterais au moment de l'insertion recupérer l'identifiant de la ligne.
J'ai trouvé pas mal d'exemple sur le net et ce forum mais aucun ne marche.
Voici mon code d'insertion :
ma variable retour reste toujours à vide que j'utilise la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 private void InsertAnnee(int annee) { object retour; Boolean Erreur = false; SqlTransaction transaction = null; string ChaineConnexion = (string)ConfigurationManager.ConnectionStrings["Site_ENATAConnectionString"].ConnectionString; SqlConnection Connexion = new SqlConnection(ChaineConnexion); string req = "Insert Into Annee values (newid(), '" + annee.ToString() + "'); Select @@IDENTITY as 'identity'"; try { Connexion.Open(); transaction = Connexion.BeginTransaction(); SqlCommand MyCommand = new SqlCommand(req, Connexion); MyCommand.Transaction = transaction; retour = MyCommand.ExecuteScalar(); } catch { Erreur = true; } finally { // Validation de la trnasaction if (transaction != null) { if (Erreur) { transaction.Rollback(); } else { try { transaction.Commit(); } catch { transaction.Rollback(); } } } // fermeture de la connexion if (Connexion.State == ConnectionState.Open) { Connexion.Close(); } } }Cela vient il de mon type de donnée pour Identifiant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Select @@Identity Select SCOPE_IDENTITY()
Ou alors y a t'il une erreur dans mon code (je tiens à préciser que ca ne génère pas d'exception)
Merci davance de votre aide
@+
Hirochirak
Partager