Résultat que prends un mysqlDataReader à l'aide de ExcecuteReader() est null! q
zeusensa
Messages postés21Date d'inscriptionvendredi 15 août 2008StatutMembreDernière intervention29 mai 2011
-
16 avril 2011 à 17:20
gfemia
Messages postés2Date d'inscriptionvendredi 6 janvier 2006StatutMembreDernière intervention17 avril 2011
-
17 avril 2011 à 20:44
bonjour,
je vous pries de bien vouloir m'excuser: j'ai vraiment besoin de votre aide! je suis débutant dans le langage VB.NET et je dois réaliser une petite application qui récupère une seule colonne d'une table mysql ..cette colonne je dois la stocker dans un tableau 1D......quand j'exécute le projet en mode pas à pas détaillé je constate que le contenu de mon mysqldatareader est NOTHING malgré que je lui ai affecté la valeur de mysqlcommand.excutereader()..je suis bloqué depuis 7 jours...je vous pries de m'aider SVP!!voici mon code :
Function MTBF_série(ByVal projet As String)
Dim z As New connexion
z.oConn.Open()
Dim somme As Decimal
Dim requete As String
requete = "select mtbf_machine from indicmachine where projet='" & projet + "';"
Dim mtbf_projet As Integer
Dim nb, i As Integer
nb = z.compter("projet", "indicmachine", projet)
MsgBox(nb)
Dim mycommand As New MySqlCommand(requete, z.oConn)
Dim dr As MySqlDataReader
dr = mycommand.ExecuteReader
Dim tab(nb - 1), mtbf(nb - 1) As Double
somme = 0
If dr.HasRows Then
For i = 0 To nb - 1
tab(i) = dr.GetValue(i)
mtbf(i) = 1 / tab(i)
Next
For i = 0 To nb - 1
somme = somme + mtbf(i)
Next
MsgBox("good")
Else
MsgBox("problème de lecture")
End If
z.oConn.Close()
mtbf_projet = 1 / somme
Return mtbf_projet
End Function
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 16 avril 2011 à 17:51
Bonjour,
Où indiques-tu à ta connexion où aller chercher les informations ?
Car, je vois bien la requête, l'ouverture de la connexion, mais pas l'indication de l'endroit de la base.
zeusensa
Messages postés21Date d'inscriptionvendredi 15 août 2008StatutMembreDernière intervention29 mai 2011 16 avril 2011 à 17:57
merci d'avoir répondu..je vous serai redevable!!
dans mon code..j'ai déclaré un objet z de type connexion....voila le code de cet objet:
Public Class connexion
Public oConn As New MySqlConnection("server =localhost;user = root;password = '';database= pfe")
je l'ai déclaré de type PUBLIC pour pouvoir y accéder partout dans mon code..j'ai testé la connexion..impeccable!! aussi la fonction COMPTER qui me retourne la valeur exacte mise dans la table....mon seul souci est comment pourvoir récupérer le contenu de mysqlcommand.executereader() et le stocker dans DR ?
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 16 avril 2011 à 18:40
Bonjour,
A la place de compter les éléments avant de faire ta requête, tu peux définir une "Structure" qui mémorise les 2 valeurs et ensuite utiliser un List(Of T) pour lister les valeurs.
Je n'ai jamais utilisé MySql avec .NET, juste Access pour le moment.
As-tu vérifié que ta requête retournait des données (avec la requête générée, espion) ?
gfemia
Messages postés2Date d'inscriptionvendredi 6 janvier 2006StatutMembreDernière intervention17 avril 2011 17 avril 2011 à 09:44
je utilise le code suivant dans mes procedures,
dr(0) est le contenu de la premiere colonne de la table, changè l'index pour les autres:
Dim mycommand As New MySqlCommand(requete, z.oConn)
Dim dr As MySqlDataReader
dr = mycommand.ExecuteReader
Dim tab(nb - 1), mtbf(nb - 1) As Double
somme = 0
If dr.HasRows Then
dr = mycommand.ExecuteReader
While dr.Read()
Me.ListBox1.Items.Add(dr(0))
Me.ListBox2.Items.Add(dr(1))
End While
dr.Close()
MsgBox("good")
Else
MsgBox("problème de lecture")
End If
Vous n’avez pas trouvé la réponse que vous recherchez ?
zeusensa
Messages postés21Date d'inscriptionvendredi 15 août 2008StatutMembreDernière intervention29 mai 2011 17 avril 2011 à 16:29
oui oui elle marche très bien....alors quand la même erreur se produisait à chaque fois..j'ai opté pour le mode de débogage pas à pas détaillé..et c'est à ce moment là que j'ai remarqué que le contenu de mon DR est NOTHING....ça fait 9 jours déjà que je suis bloqué.....pourriez vous m'aider SVP?
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 17 avril 2011 à 16:37
Bonjour,
J'ai regardé un code que j'ai fait pour Access, mais j'ai le même modèle que toi, je ne comprend donc pas d'où vient le pb.
Et si tu tentes de récupérer un DataSet, ça passe ?
gfemia
Messages postés2Date d'inscriptionvendredi 6 janvier 2006StatutMembreDernière intervention17 avril 2011 17 avril 2011 à 20:44
Si le dr(dataReader) est nothing on doit controller le string sql (requete), svp puis je savoir les nom complete des fields et de la table du database ou la string complete?