Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Boucle for dans une datatable [ Base de données / SQL Server ] (Xavleb)

mercredi 30 juillet 2008 à 16:20:49 | Boucle for dans une datatable

Xavleb

Bonjour,

Je developpe une application utilisant une base de donnée sql serveur permettant l'adressage ip d'une entreprise. Tout dabord, je fais un select pour ensuite remplir une datatable. Ensuite je voudrais faire une boucle for qui me permette de verifier chaque ligne de ma table jusqu'a la dernière ligne. Et si on trouve une valeur égale à la variable Ipp alors on appel une fonction qui modifie Ipp et on recommence la boucle. Le problème c'est que ma boucle for ne fonctionne pas et je ne sais pas pourquoi. Merci d'avance pour vos réponses. le code est le suivant:

      

        strsql1 = "SELECT T_MATER.ADR_IP FROM T_MATER, T_SS_PLAGE WHERE ADR_DEB_SSP='" & ssp & "' AND T_MATER.ID_SSP=T_SS_PLAGE.ID_SSP"

 '  recupération de toutes les @ IP où la sous plage = ssp

       

        objetcommand = New SqlCommand(strsql1)

        objetdataadapter = New SqlDataAdapter(objetcommand)

        objetcommand.Connection() = con

        objetdataadapter.Fill(objetdataset, "T_MATER")

        objetdatatable = objetdataset.Tables("T_MATER")

 ' mettre le contenu dans une datatable   

 

           For rownumber = 0 To rownumber = objetdatatable.Rows.Count - 1

          ' pour toutes les lignes de ma datatable

                          If objetdatatable.Rows(rownumber).Item("ADR_IP") = Ipp Then
                            ' psi le contenu de la ligne rownumber 
                               est egal à la variable Ipp (à l'addresse)

               

                         Dim nbal2 As String

                          nbal2 = propos_ip(troisdernierchar2, troisdernierchar)

                          rownumber = -1
' pour appel de la fonction et remise de rang à zéro pour recommencer la boucle et revérifier               
                          EndIf

            rownumber += 1' j'incrémente la ligne et je recommence la verification

        Next

 

 

    J'éspère avoir été clair. Si qqn peut corriger mon(mes) erreurs svp.

Xavier.


mercredi 30 juillet 2008 à 18:48:14 | Re : Boucle for dans une datatable

LIBRE_MAX

Réponse acceptée !
Salut,
je connais pas trop vb net, mais renseignes toi sur les paramètres de ta connection ou de ton objet Command.
Je crois bien que c' est une question de curseur qui doit être dynamic, si toutefois c' est une question de boucle qui n' avance pas.


... Y'en a même qui disent qu'ils l'ont vu voler.

mercredi 30 juillet 2008 à 22:26:23 | Re : Boucle for dans une datatable

Galain

Membre Club
Réponse acceptée !
Salut je ne te donnerais surement pas la solution mais plusieurs choses me chiffonnent
1 ) For rownumber = 0 To rownumber = objetdatatable.Rows.Count - 1 à remplacer par For rownumber = 0 To objetdatatable.Rows.Count - 1

2)  If objetdatatable.Rows(rownumber).Item("ADR_IP") = Ipp Then
   cette condition reviendra sans arrêt car tu ne modifies aucun des 2 éléments dans le code qui est déclenché par cette condition
  
  explication = IF A= B then
       on ne modifie ni A ni B
  end if

Le condition reviendra alors à l'identique et la boucle For tournera sans fin

3) Utiliser un Do Loop qui encadre la boucle (éviter de modifier la variable de boucle)
Dim Trouve as Boolean = False
Do
      For ..............
             Application.doevents()
             if A = B then
                   traitement de cette condition (faire en sorte que cette condition pour cette ligne ne revienne pas : voir au dessus)
                   Trouve  = True
                   Exit do ' on sort de la boucle For  Next
             End If
     Next
     If Trouve = False Then Exit Do  ' on sort de la boucle Do car plus rien à traiter
loop

J'espère que cela t'aidera

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain

jeudi 31 juillet 2008 à 11:27:30 | Re : Boucle for dans une datatable

Xavleb

Merci de vos réponses. Cependant je ne suis pas arrivé à faire foncyionner ma boucle, mais je m'y suis pris autrement, j'ai utiilser la méthode foundrow. Les paramètres de connection étaient bon Libre_max. Sino pour répondre à alain, je modifiait mon paramètre B mais je l'ai pas mis dans le message, car le pb ne venait pas de là. Je pense qu'il venait du fait qu' il n'y a pas d'enregistrement courant pour une datatable,pas de pointeur sur un enregistrement, c'est nous même qui gérons RowNumber, une simple variable qui contient le numéro de l'enregistrement (l'index du DataRow) sur lequel on travaillez. Et je pense que je le gérais mal.




Cette discussion est classé dans : boucle, ip, datatable, for, rownumber


Répondre à ce message

Sujets en rapport avec ce message

Boucle For et concaténation [ par Vinie ] Bonjour,J'ai dans une page un select1 qui contient plusieurs options choisies à partir d'un select2, tout ça étant contenu dans un FORM et envoyé à un Arreter l'execution pendant une boucle For [ par fbrt ] Bonjour a tousJe cherche un moyen pour arreter une boucle For pendant son execution a partir d'un bouton annuler. Si je mets un bouton , son évenement probleme boucle next for [ par casav ] For i = 1 To 4 If "LblImg" & i & .Caption "" And "Lblvirage" & l & .Caption "" Theninstructionsnext ilblimg et lbl virage representent 2 labelsPo Probleme avec un Shell dans une Boucle For [ par AmaRiNo ] Voici mon problème, For Shell("c:\prog.exe") Test1("c:\prog.out") 'fichier créer par prog.exeNextJ'ai essayer plusieurs code que j'ai trouver sur problème avec la fonction getPixel dans une boucle For [ par Battant ] Bonjour à tous,Je suis en train de créer un programme d'annalyse d'image en utlisant la fonction getpixel progrmmée par un des membre de VBfrance.Voil Probleme de boucle [ par lebalrog ] Salut a tous!G un GROS probleme ke j arrive pas a resoudre. G une boucle for qui est assez importante en taille, et kand je lance le prog, il me dit " Aidez-moi SVP Boucle for each dans access [ par Enzino ] Bonjour à tous,PROBLEME AVEC BOUCLE "for each"*******************************Mon but est de parcourir le formulaire "F_Facturation" et de faire la som boucle for each [ par Enzino ] Quelqu'un pourrait-il m'expliquer comment fonctionne la boucle for each dans Access ??for each xxxx in xxxxnextCe sont les xxx que je ne comprends p boucle for each, recuperer l'adresse d'une cellule sous excel [ par vincent82 ] bonjourvoila ma question :j'effectue une boucle for each sur un range de cellulesfor each valeur in range("A1:A7")valeur contient alors successivement Gestion d'Interuption et boucle for, while. [ par xor02 ] Salut,j'aimerais savoir comment il faut faire pour intérompre une boucle "FOR". Par exemple j'ai deux boutons commandes "OK" et "CANCEL". Lorsque je c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.