Récupérer le nombre le plus élevé dans un champ de base mysql en vb.net 2015 vb

Résolu/Fermé
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 - 9 mai 2020 à 17:50
 Utilisateur anonyme - 9 mai 2020 à 20:03
Bonjour.
J'ai un petit souci, je désire afficher le nombre le plus élevé d'un champ d'une base de données mysql.
J'ai essayé bon nombre de codes mais rien n'y fait.
       
Dim MysqlConn As MySqlConnection
        MysqlConn = New MySqlConnection()
        MysqlConn.ConnectionString = ConnexionSql
        Try
            MysqlConn.Open()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        Dim Req As String = "SELECT MAX(referent) FROM ma table"
        Dim Comm As New MySqlCommand(Req, MysqlConn)
        Comm.ExecuteNonQuery()
        Dim MonReader As MySqlDataReader = Comm.ExecuteReader()
        Do While MonReader.Read()
            referent.Text = MonReader("referent")
        Loop

        MysqlConn.Close()

A chaque fois j'ai ce message:
" Could not find specified column in results: referent "
autrement dit et en Français:
Impossible de trouver la colonne spécifiée dans les résultats: référent.

Auriez vous une idée sur la procédure à suivre ?

12 réponses

Utilisateur anonyme
9 mai 2020 à 17:55
Bonjour

question bête, il y a un champ "referent" dans la base de données? Si oui, il est d'un type numérique?
0
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 1
9 mai 2020 à 18:02
Bonjour Whismeril.

Ce n'est pas une question bête, effectivement le champ referent existe il est même juste après le champ ID, il est en INT 20 et les chiffres en question ne dépassent pas 5 chiffres.
J'ai oublié de dire que lorsque je mets en remarque => referent.text=monreader("referent"), je n'ai pas de message d'erreur.
0
Utilisateur anonyme
9 mai 2020 à 18:10
Ha oui, le sql c'est pas mon truc....
Dans ton reader, le champ referent n'existe pas, mais y'a son Max qui doit avoir un autre nom.

Je te conseille de mettre un point d'arrêt à cette ligne
        Do While MonReader.Read()

Et d'explorer le contenu de ton reader avec les outils de débbogage.

Si tu ne sais pas t'en servir, voilà un petit tuto https://openclassrooms.com/fr/courses/1526901-apprenez-a-developper-en-c/2867766-utilisez-le-debogueur
0
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 1
9 mai 2020 à 18:31
Merci pour l'idée que j'ai suivi mais rien ne change, le débbogeur fait bien son boulot mais pas de solution, j'ai même modifié le nom de la textbox au cas ou il y aurait eu un conflit de nom mais rien.

J'ai remplacé le textbox par un bombobox et viré MAX et là ça fonctionne.

Je m'arrache le peu de cheveux qu'il me reste !
0

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

Posez votre question
Utilisateur anonyme
9 mai 2020 à 18:52
J'ai remplacé le textbox par un bombobox et viré MAX et là ça fonctionne.

Ça c’est normal, le code
        Do While MonReader.Read()
            referent.Text = MonReader("referent")
        Loop
sert à afficher le contenu du champ referent.

Avec Max, tu ne le récupère pas donc tu ne peux pas l’afficher.

Peux tu remette Max et poster une capture au point d’arrêter avec un espion express de ton reader?
0
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 1
9 mai 2020 à 18:54
exact, rien n'y fait mais je tester autre chose et je reviens.
0
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 1
9 mai 2020 à 19:01
J'ai testé avec un IF mais idem.
J'ai fait une capture d'écran que je joins

0
Utilisateur anonyme
9 mai 2020 à 19:15
Ce n’est pas ce que je t’ai demandé:
Un point d’arrêt et un espion

0
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 1
9 mai 2020 à 19:21
Je ne sais pas ce que veut dire espion.
J'ai fait une autre capture sur le point d’arrêt

0
Utilisateur anonyme
9 mai 2020 à 19:26
Je ne sais pas ce que veut dire espion.

C'est pourquoi à la réponse 3, je t'ai mis un lien vers un tuto sur l'utilisation des outils de débbogage.
C'est essentiel de savoir s'en servir pour coder correctement.


Ta solution est là
https://stackoverflow.com/questions/12171604/retrieving-maximum-value-from-sql-vb-net
0
JSB-24270 Messages postés 24 Date d'inscription jeudi 26 mars 2020 Statut Membre Dernière intervention 9 mai 2020 1
9 mai 2020 à 19:31
GENIALLLLLLLLLLL un grand merci, effectivement il ne faut pas appeler directement.

Pour ce qui est d'apprendre, je dois me débrouiller seul, avec le confinement je n'ai pas encore reçu mon livre sur visual basic 2015.

Je vais donc placer mon souci comme résolu !
0
Utilisateur anonyme
9 mai 2020 à 20:03
En attendant le livre, les différents cours en ligne que l’on t’as déjà proposé sont là.

Et il n’est pas dit qu’un livre sur vb2015 parle de déboggage.
0