IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème base de donnée avec api MySqlConnector


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Points : 41
    Points
    41
    Par défaut
    Salut tout le monde alors voila je post ce sujet car j'ai un petit problème avec l'api MySqlConnector sur VB.Net.

    Infos :
    Nom de la table : ideasstable

    Mon but : Je veut faire le tour des rows (lignes) qu'il y as dans une de mes tables, et récupéré le texte qu'il y as a la troisième colonne (Item(2))
    Alors voila ce que j'ai essayé de faire :

    Nom : Capture.PNG
Affichages : 71
Taille : 17,1 Ko

    Donc ce qui donnerais :
    Pour chaque row qu'il y as dans objDataset.Tables("ideasstable").Rows, afficher le texte qu'il y as a la troisième colonne, mais seulement, cela ne se passe pas comme sa..
    Voici l'erreur que j'obtient :

    Nom : Capture.PNG
Affichages : 76
Taille : 44,0 Ko

    Donc j'avais pensé a faire une suite de chiffre c'est a dire row 0, row 1, row 2, row 3, etc... selon le nombre de rows qu'il y as dans ma table, mais je ne sais pas faire tout cela. Voila j'espère que je vais vite avoir de l'aide.

    Cordialement,
    Juaaah.

    Ou alors, j'ai réussi à avoir le nombre de lignes (rows) qu'il y as dans ma table en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim RowsCount as String = objDataset.Tables("ideasstable").Rows.Count -1
    J'ai mis -1 car le Count commence de 1, et lors des récupération de texte, il commence par 0, donc en mettant -1, le problème es réglé.


    Alors la nouvelle solution que l'on peut adopter es :
    On as le nombre de rows maximales, alors admettons que l'on obtiennes 3, il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    objDataset.Tables("ideasstable").Rows(0).Item(2)
    objDataset.Tables("ideasstable").Rows(1).Item(2)
    objDataset.Tables("ideasstable").Rows(2).Item(2)
    objDataset.Tables("ideasstable").Rows(3).Item(2)
    Mais si seulement le nombre maximale de lignes (rows) serait fixe, le problème serait resté là, mais il varie donc je ne sais plus comment faire...

    J'espère que vous avez compris clairement mon attente.
    Je vous remercie d'avance,

    Juaaah.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut Salut
    Salut.

    En fait tu partais bien, mais tu à fait une erreur de débutant sur le For Each, tu l'utilises mal.

    Tu fais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each rows in objDataset.Rows
           Msgbox(objDataset.Tables("ideastables").Rows(row).Item(2))
    Next
    Rows() attends un entier en paramètre, donc mettre row (de type datarow), dedans est faux.
    Dans le For each, il faut utiliser rows directement, car à chaque fois qu'il passera dans la boucle il passe à la ligne suivante.

    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each rows in objDataset.Rows
           Msgbox(rows.Item(2))
    Next
    Ensuite, il faut toujours utiliser .ToString, si tu veux afficher du texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each rows in objDataset.Rows
           Msgbox(rows.Item(2).ToString)
    Next
    Et enfin, il faut typer ta variables rows... (même si ce n'est pas obligatoire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each rows As Datarow in objDataset.Rows
           Msgbox(rows.Item(2).ToString)
    Next
    Et si un jour tes colonnes change d'ordre... alors il faudra changer le 2. Il vaut mieux alors mettre le nom de la colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each rows As Datarow in objDataset.Rows
           Msgbox(rows.Item("NomDeTaColonne").ToString)
    Next
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Points : 41
    Points
    41
    Par défaut
    Tout d'abord merci de votre réponse,
    Grace a cette réponse j'ai su corriger et surtout comprendre mon erreur, merci beaucoup, sujet résolus !

    Cordialement,
    Juaaah.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2014, 16h57
  2. Problème base de données avec gadfly
    Par pouky dans le forum Général Python
    Réponses: 0
    Dernier message: 11/11/2012, 19h30
  3. Réponses: 1
    Dernier message: 14/02/2007, 10h48
  4. Problème d'interface de base de données avec Frontpage
    Par Auxtown-Son dans le forum Outils
    Réponses: 3
    Dernier message: 11/07/2006, 16h42
  5. Problème Update Base de données avec les composants ADO
    Par lingli dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/04/2006, 00h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo