Problème dans l'exécution d'une requete !
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:
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:
Citation:
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 ..