Bonjour,
J'ai un problème au niveau de l'exécution de ma requete (Joiture)
J'ai 2 tables: Commandes & MatérielsCommandés et je voudraiis insérer un nouveau enregistrement dans la BD dès que l'utilisateur clic sur le boutton1 qui est le boutton de l'ajout. Pour ce, j'ai écrit le code suivant:

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
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Cnx.Open()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
 
        Dim SQL1, SQL2 As String
        Try
        SQL1 = "Insert into Commandes values(@IDcommande,@DateCommande)"
        SQL2 = "Insert into MatérielsCommandés values(@IDmatérielCommandé, @IDcommande, @QuantitéDésirée, @Unité, @PrixUnitaireMatérielCommandé)"
        Dim cmd1 As New SqlCommand(SQL1, Cnx)
        Dim cmd2 As New SqlCommand(SQL2, Cnx)
 
        cmd1.Parameters.Add(New SqlParameter("@IDcommande", SqlDbType.Int))
        cmd1.Parameters.Add(New SqlParameter("@DateCommande", SqlDbType.SmallDateTime))
        cmd1.Parameters("@IDcommande").Value = Val(Me.TextBox1.Text)
        cmd1.Parameters("@DateCommande").Value = Me.MaskedTextBox1.Text
        cmd1.ExecuteNonQuery()
 
        cmd2.Parameters.Add(New SqlParameter("@IDmatérielCommandé", SqlDbType.Int))
        cmd2.Parameters.Add(New SqlParameter("@IDcommande", SqlDbType.Int))
        cmd2.Parameters.Add(New SqlParameter("@QuantitéDésirée", SqlDbType.Float))
        cmd2.Parameters.Add(New SqlParameter("@Unité", SqlDbType.NVarChar))
        cmd2.Parameters.Add(New SqlParameter("@PrixUnitaireMatérielCommandé", SqlDbType.SmallMoney))
        cmd2.Parameters("@IDmatérielCommandé").Value = Val(Me.TextBox2.Text)
        cmd2.Parameters("@IDcommande").Value = Val(Me.TextBox1.Text)
        cmd2.Parameters("@QuantitéDésirée").Value = Val(Me.TextBox3.Text)
        cmd2.Parameters("@Unité").Value = Me.TextBox4.Text
        cmd2.Parameters("@PrixUnitaireMatérielCommandé").Value = Val(Me.TextBox5.Text)
        cmd2.ExecuteNonQuery()
 
        Catch ex As Exception
        MessageBox.Show(ex.Message)
        End Try
 
 
    End Sub
Une erreur se produit lors de l'exécution disant:
Violation of PRIMARY KEY 'PK_Commandes'. Cannot insert duplicate key in object 'Commandes'. The statement has been terminated.
J'espr que quelqu'un pourra m'aider ..
Mercii d'avance ..