bonjour,
J'ai une application vb net avec une base de donnée.
Au chargement du formulaire une requete affiche les enregistrements de la base dans une listView.
Quand je clique sur un bouton un événement doit pouvoir supprimer la ligne sélectionnée de la listView. J'ai donc ecrit ceci:
Mais dans la base il peut y avoir plusieurs fois le même nom et cette requete me supprime tous les enregistrements avec le même nom
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 Dim maConnexion As OleDbConnection Dim maCommande As OleDbCommand Dim strConnect As String Dim strSql As String Dim enr1 As OleDbDataReader Dim dat As Date Dim nom As String Dim num As Integer num = txt_num.Text nom = txt_nom2.Text MT = txt_MT.Text reg = txt_Regle.Text dat = txt_date.Text Try strConnect = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='C:\Documents and Settings\fdefrocourt\Bureau\Caisse\bdd_agroform.mdb';User ID=Admin;Password=;" maConnexion = New OleDbConnection(strConnect) strSql = "SELECT numEncD, nomSalD, MTEncD, RegleD, dateEncD FROM EncaissementDetail" 'Creation de l'objet contenant la req puis ouverture de la bdd maCommande = New OleDbCommand(strSql, maConnexion) maConnexion.Open() 'execution de la requete enr1 = maCommande.ExecuteReader() While (enr1.Read() = True) If enr1("numEncD") = num Then strSql = "DELETE FROM EncaissementDetail WHERE nomSalD= '" & nom & "'" 'Creation de l'objet contenant la req puis ouverture de la bdd maCommande = New OleDbCommand(strSql, maConnexion) 'execution de la requete maCommande.ExecuteNonQuery() End If End While MsgBox("Encaissement supprimé") maConnexion.Close()
J'ai donc essaié:
Mais j'ai une erreur: type de donnée incompatible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 While (enr1.Read() = True) If enr1("numEncD") = num Then strSql = "DELETE FROM EncaissementDetail WHERE numEncD= '" & num & "'" 'Creation de l'objet contenant la req puis ouverture de la bdd maCommande = New OleDbCommand(strSql, maConnexion) 'execution de la requete maCommande.ExecuteNonQuery() End If End While
Pourquoi?
Pouvez vous m'aider ?
Partager