Listview et checkbox qui provoque une erreur de connexion a une bd

cs_eklips Messages postés 7 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 8 novembre 2008 - 11 mai 2008 à 03:29
cs_eklips Messages postés 7 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 8 novembre 2008 - 15 mai 2008 à 23:01
Bonjour à tous...
Je galère depuis quelques jours sur un problème que je n'arrive pas à résoudre....en fait j'ai deux problêmes mais je crois qu'il sont reliés.  J'ai un listview dont la première colone contient une checkbox indiquant le statu de l'enregistrement (le reste de la ligne).  Lorsque je tente de vérifier chacun des enregistrements pour vérifier si le statu à changé (s'il est le même que dans un dataset) je rentre dans une boucle qui semble s'effectuer plusieures centaines de fois même si je n'ai que deux enregistrements...
Voici le code:

Private Sub lvExploreEven_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles lvExploreEven.ItemChecked
        'Dim id As Integer
        Dim checked As Boolean
        Dim position As Integer
        checked = e.Item.Checked
        position = e.Item.SubItems(10).Text - 1

        If checked <> dsevenement.Tables(0).Rows(position).Item(1) Then
            miseajourtblevenement(position, checked)
        End If
End sub

danc cette méthode j'appelle une fonction miseajourtblevenement() qui met à jour la base de donnée pour les enregistrements qui ont un statu différent de celui du dataset mais malheureusement ce code me donne une erreur comme si je n'étais pas connecté à la base de donnée ce que je suis à peu près certain d'être
voici le code de cette fonction:

Private Sub miseajourtblevenement(ByVal id, ByVal check)
        bd.connexion("..\Laturlutte.mdb")

        Dim cmdBD As New OleDbCommand
        cmdBD = bd.cnconnexion.CreateCommand        cmdBD.CommandText "Update tblevenements set Evenement_Annule " & check & " where id_evenement = " & id
        cmdBD.ExecuteNonQuery()
        remplirListViewEvenement()
        bd.Deconnexion()

    End Sub

j'ai l'impression que ca plante parce-que vu que dans la première fonction ca tourne en boucle trop souvent et rapelle toujours la fonction miseajourevenement qu'après un certain temps miseajour me donne une erreur a force de se connecter et de se déconnecter à la base de donnée.
Je m'y prend peut-être mal...mais j'aurais besoin de savoir pourquoi que ca plante ou sinon comment effectuer ces opérations correctement

Merci

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
11 mai 2008 à 06:21
je pige pas le "remplirListViewEvenement"
0
cs_eklips Messages postés 7 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 8 novembre 2008
11 mai 2008 à 07:12
C'est une fonction que j'ai créer qui sert à remplir le listview avec le dataset avec lequel je fais ma comparaison
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 mai 2008 à 06:51
oui, ok, son nom est explicite.
mais je pige pas pourquoi tu raffraichit le contenu de l'arbre, lorsque tu coches un noeuud
0
cs_eklips Messages postés 7 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 8 novembre 2008
12 mai 2008 à 17:29
hum......
C'est vrai qu'a bien y penser ce n'est pas nécessaire :$
Ca règlerais probablement mon problême!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_eklips Messages postés 7 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 8 novembre 2008
15 mai 2008 à 23:01
En fait mon problême d'écoulait plus du fait que j'utilisais le sender qui, je croyais me retournait la ligne sélectionné mais en fait le e me retourne l'index de chacun des éléments de mont list view.  Je n'ai pas encore eu le temps de travailler à la solution mais au moins je sait ou chercher....
Merci quand- même
:D
0
Rejoignez-nous