Extraction de données DataReader

Signaler
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006
-
ysf.lee
Messages postés
2
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
12 mars 2014
-
Bonjour, j'ai un p'tit problème avec un DataReader qui veut pas me donner se ke je lui demande !
Voila le code :
lblPrénom.Text = drRecherche.GetString(1);

L'erreur est : Tentative non valide de lecture lorsque aucune donnée n'est présente.

Or il y a bien des données, j'ai vérifié...
Si quelqu'un a une idée elle est la bienvenue. Merci d'avance.

12 réponses

Messages postés
59
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
1 août 2005
3
t'as bien fais un drRecherche.Read() avant d'essayer de lire?



et un drRecherche.close() après la lecture?
Messages postés
100
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2006
1
Salut,



au lieu de faire un datareader, tu devrais essayer ça:





lblPrénom.Text = (string)dbCommand.ExecuteScalar();





dbCommand
est de type SqlCommand comme pour ton datareader je suppose.





Cab
Messages postés
59
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
1 août 2005
3
lblPrénom.Text = drRecherche["Prénom"].ToString( );



"Prénom" étant le nom de ta colonne.
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006

ça marche, mais le souci c'est que j'ai plusieurs champs à lire... Je me suis renseigné sur la méthode execute.scalar et aparament on ne peut pas en sortir plusieurs champs. Peut etre me suis-je mal renseigné. Si tu vois autre chose...
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006

lblPrénom.Text = drRecherche["Prénom"].ToString( );

Avec cette méthode j'ai la meme erreur que tout à l'heure : Tentative non valide de lecture lorsque aucune donnée n'est présente.

Pourtant les données sont bien présentes, je ne comprend pas.
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006

J'ai fais un drRecherche.read() et un drRecherche.close()
Messages postés
59
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
1 août 2005
3
tu sais mettre ton code stp
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006

private 
void Valid_Click(
object sender, System.EventArgs e)


{



//Recherche du salarié sélectionné


SqlCommand cmdRecherche <gras>new SqlCommand("Select * From salariés Where Num</gras> "+lblNum.Text, sqlConnection1);



//Objet DataReader


SqlDataReader drRecherche;



//Ouverture connexion + drRecherche


sqlConnection1.Open();


drRecherche = cmdRecherche.ExecuteReader();



//Lecture des informations 


drRecherche.Read();


lblPrénom.Text = drRecherche["Prénom"].ToString();



//Fermeture Connexion + drRecherche


sqlConnection1.Close();


drRecherche.Close();


}
ysf.lee
Messages postés
2
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
12 mars 2014

Merci bcp ^_^
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006

C'est bon ça fonctionne !
Merci
Messages postés
59
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
1 août 2005
3
j'ai plusieurs questions :



je sais pas si ca a de l'importance mais dans ta requête : "Select" ça
passe avec la majuscule ? => "select" de meme pour le Where =>
where



Normal que tu compare un Num (surement un entier) avec un string ?



Sinon j'vois pas trop le problème. Peut-être tester un
drRecherche.HasRows (suis plus sûr de la syntaxe) pour voir si
effectivement ton drRecherche n'est pas vide.



Voila. Sorry j'pense pas que ca va t'aider. Comme ca je dirais qu'il n'y a effectivement rien à lire dans ton reader.
Messages postés
34
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
31 mai 2006

En fait j'avais commencé par pas mettre le Read. Je l'ai rajouté quand tu me l'a dit. Ensuite j'avais une petite erreur avec mes variables. Maintenant tout fonctionne. Merci beaucoup pour le coup de main.
Messages postés
59
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
1 août 2005
3
Oki 2r1