probleme vb.net erreur foreign key lors d'une insertion dans la base via application
Bonjours je me retrouve coincer suite a une erreur donc je ne connait pas du tout la solution .
dans l'application je souhaite inserer les champs que j'ai remplis dans mon application mais lors de cet action ( via un bouton) je me retrouve avec cet erreur
Cannot add or update a child row: a foreign key constraint fails (`stage`.`materiel`, CONSTRAINT `materiel_ibfk_1` FOREIGN KEY (`numeroCategories`) REFERENCES `categoriemateriel` (`NumeroCategorie`) ON DELETE CASCADE ON UPDATE CASCADE).
je vous donne le code gerant cet insertion
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 BtnAjouterPO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAjouterPO.Click
If CbMarque2.Text <> "" Then
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim i As String
Dim f As String
Dim g As String
Dim h As String
Dim j As String
a = Txtidmateriel.Text
b = CbMarque2.Text
c = txtDesignation.Text
d = CbCategorie2.Text.ToString
i = Cbreference.Text
f = TxtTaille2.Text
g = TxtPrix.Text
j = txtquantiter.Text
h = b & " " & c & " " & f
connection.MaRequete = "Insert into materiel Values ( " & a & " , '" & h & "', " & g & " ," & j & " ,'" & i & "' , '" & d & "' )"
connection.MaCommandeSpecialRequete.CommandText = connection.MaRequete
connection.MaCommandeSpecialRequete.ExecuteNonQuery()
MessageBox.Show("Materiel Ajoutée...!", "Insertion", MessageBoxButtons.OK, MessageBoxIcon.Information)
position = 0
RechargerLesDonnees()
RafraichirListe()
BtnAjouterPO.Text = "+"
Else
MessageBox.Show("Erreur de saisie...!", "Alerte!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Private Sub RechargerLesDonnees()
connection.MonJeuDeDonnees.Tables("Toutmateriel").Clear()
connection.MaRequete = "select idmateriel,nommateriel,prixmateriel,quantiter,reference,numerocategories,nomcategorie from materiel,categoriemateriel where (materiel.numeroCategories=categoriemateriel.NumeroCategorie) "
connection.MaCommandeSpecialRequete.CommandText = connection.MaRequete
connection.MonRemplisseur.SelectCommand = connection.MaCommandeSpecialRequete
connection.MonRemplisseur.Fill(connection.MonJeuDeDonnees, "Toutmateriel")
End Sub
Public Sub Rafraichir()
Txtidmateriel.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(0)
CbMarque.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(1)
txtDesignation.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(2)
CbCategorie2.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(3)
Cbreference.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(4)
TxtTaille2.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(5)
TxtPrix.Text = connection.MonJeuDeDonnees.Tables("Toutmateriel").Rows(position).Item(6)
DgOccasResultat.DataSource = connection.MonJeuDeDonnees.Tables("Toutmateriel")
End Sub |
je vous remercie d'avance de votre aide