Supprimer un enregistrement de la base de données à partir de l'interface vb
rgso
Messages postés9Date d'inscriptionmardi 16 novembre 2010StatutMembreDernière intervention30 juin 2011
-
16 nov. 2010 à 03:33
said_dias_01
Messages postés103Date d'inscriptiondimanche 20 mars 2005StatutMembreDernière intervention30 décembre 2017
-
2 déc. 2010 à 15:24
Bonjour :d bon je sollicite votre aide, j'ai une application à faire contenant les boutons ajouter, modifier et supprimer, j'ai réussi l'execution des deux 1èrs , il me reste la suppression, j'ai écris le code sans erreur, quand je clique sur le bouton,il me met le message de confirmation mais sans résultat, l'enregistrement concerné ne se supprime pas ! voici mon code :
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim id As Integer
id = ComboBox1.SelectedItem
ComboBox1.Items.Remove(id)
Dim ocnx As New SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=airbus;Data Source=PC-DE-LS\SQLEXPRESS")
ocnx.Open()
Try
Dim ocmd As New SqlCommand("Delete from pilote where Npilote='" & id & "'", ocnx)
MsgBox("Suppression réussie")
ocnx.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Merci pour votre aide :)
A voir également:
Supprimer un enregistrement de la base de données à partir de l'interface vb
Shaolyne
Messages postés155Date d'inscriptionjeudi 12 mai 2005StatutMembreDernière intervention 8 mars 20111 16 nov. 2010 à 07:25
Ne manque-t-il pas un ExecuteNonQuery ?
La ligne suivante:
Dim ocmd As New SqlCommand("Delete from pilote where Npilote='" & id & "'", ocnx)
ne fait que créer un objet SqlCommand avec la requête adéquate.
Pour information, il est préférable d'utiliser des SqlParameter pour les paramètres. Cela permet, entre autre, de supprimer les possiblités de SQL Injection, vérification du type à la compilation, pas d'erreur de conversion, etc...
Dans ton cas, tu auras quelque chose comme ceci:
Dim ocmd As New SqlCommand("Delete from pilote where Npilote=@NPilote", ocnx)
ocmd.Parameters.Add(New SqlParameter("@NPilote", id)