Bonjour,

J'ai un probleme avec l'execution d'une transaction ça me genere cette erreur :
Le nom de variable '@CIN_petitionnaire' a déjà été déclaré. Les noms de variables doivent être uniques dans un traitement de requêtes ou une procédure stockée.
voila le code de transaction :
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
49
50
51
52
53
54
 
Using myConnection
            Dim transaction As SqlTransaction = myConnection.BeginTransaction()
            Dim commande As SqlCommand = myConnection.CreateCommand()
            commande.Transaction = transaction
            'Try
            commande.CommandText = "INSERT INTO commission ([type_commission],[date_commission]) VALUES(@type_commission,@date_commission)"
            commande.Parameters.AddWithValue("@type_commission", Convert.ToString(TypeComm.SelectedValue))
            commande.Parameters.AddWithValue("@date_commission", Convert.ToDateTime(DateComm.Text))
            commande.ExecuteNonQuery()
            ''dernier id inseré dans commission
            commande.CommandText = "SELECT IDENT_CURRENT('commission')"
            idcom = Convert.ToInt16(commande.ExecuteScalar())
 
            commande.CommandText = "INSERT INTO Petitionnaire ([CIN_petitionnaire],[petitionnaire]) VALUES(@CIN_petitionnaire,@petitionnaire)"
            commande.Parameters.AddWithValue("@CIN_petitionnaire", Convert.ToString(cin.Text))
            commande.Parameters.AddWithValue("@petitionnaire", Convert.ToString(Petitionnaire.Text))
            commande.ExecuteNonQuery()
            ''dernier id inseré dans petitionn
            commande.CommandText = "SELECT IDENT_CURRENT('Petitionnaire')"
            idpt = Convert.ToString(commande.ExecuteScalar())
 
            commande.CommandText = "INSERT INTO projet ([type_projet]) VALUES(@type_projet)"
            commande.Parameters.AddWithValue("@type_projet", Convert.ToString(TypeProjet.SelectedValue))
            commande.ExecuteNonQuery()
 
            commande.CommandText = "SELECT IDENT_CURRENT('projet')"
            idpr = Convert.ToInt16(commande.ExecuteScalar())
 
            commande.CommandText = "INSERT INTO dossier ([num_dossier],[num_envoi_commune],[num_arrivee_agence],[date_arrivee_agence],[date_envoi_commun],[observation],[id_commune],[code_projet],[reference_fonciere],[situation],[nom_operation],[Consistance],[code_commission],[CIN_petitionnaire]) VALUES(@num_dossier,@num_envoi_commune,@num_arrivee_agence,@date_arrivee_agence,@date_envoi_commun,@observation,@id_commune,@code_projet,@reference_fonciere,@situation,@nom_operation,@Consistance,@code_commission,@CIN_petitionnaire)"
            commande.Parameters.AddWithValue("@num_dossier", Convert.ToString(NumD.Text))
            commande.Parameters.AddWithValue("@num_envoi_commune", Convert.ToString(NumeroAnvoi.Text))
            commande.Parameters.AddWithValue("@num_arrivee_agence", Convert.ToString(NumerArriv.Text))
            commande.Parameters.AddWithValue("@date_arrivee_agence", Convert.ToDateTime(DateArrivAg.Text))
            commande.Parameters.AddWithValue("@date_envoi_commun", Convert.ToDateTime(DateEnvoi.Text))
            commande.Parameters.AddWithValue("@observation", Convert.ToString(Observation.Text))
            commande.Parameters.AddWithValue("@id_commune", CommunList.SelectedValue)
            commande.Parameters.AddWithValue("@code_projet", idpr)
            commande.Parameters.AddWithValue("@reference_fonciere", Convert.ToString(TextBoxRef.Text))
            commande.Parameters.AddWithValue("@situation", Convert.ToString(Situation.Text))
            commande.Parameters.AddWithValue("@nom_operation", Convert.ToString(nomOpr.Text))
            commande.Parameters.AddWithValue("@Consistance", Convert.ToString(Consis.Text))
            commande.Parameters.AddWithValue("@code_commission", idcom)
            commande.Parameters.AddWithValue("@CIN_petitionnaire", idpt)
             commande.ExecuteNonQuery()
            transaction.Commit()
            MsgBox("Transaction validée")
            ' Catch Ex As Exception
            'transaction.Rollback()
            'MsgBox(Ex.Message)
            ' Finally
 
            'End Try
        End Using
Merci de me fournir d'aide.