Supprimer un enregistrement de la base de données à partir de l'interface vb

rgso Messages postés 9 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 30 juin 2011 - 16 nov. 2010 à 03:33
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 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 :)

3 réponses

Shaolyne Messages postés 155 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 8 mars 2011 1
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)

Shao.
0
rgso Messages postés 9 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 30 juin 2011
16 nov. 2010 à 11:53
Merciii pour ton aide et aussi pour la nouvelle information^^ je suis encore debudante en ADO :)
0
said_dias_01 Messages postés 103 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 30 décembre 2017 1
2 déc. 2010 à 15:24
Slt,

Dim ocmd As New SqlCommand("Delete from pilote where Npilote='" & id & "'", ocnx)
ocmd.ExecuteNonQuery
MsgBox("Suppression réussie")
0
Rejoignez-nous