Extraction de données DataReader

Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006 - 31 mai 2005 à 09:09
ysf.lee Messages postés 2 Date d'inscription mercredi 12 mars 2014 Statut Membre Dernière intervention 12 mars 2014 - 12 mars 2014 à 08:00
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

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



et un drRecherche.close() après la lecture?
4
cabbry Messages postés 100 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006 1
31 mai 2005 à 11:29
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
0
systemic_anomaly Messages postés 59 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 1 août 2005 4
31 mai 2005 à 13:55
lblPrénom.Text = drRecherche["Prénom"].ToString( );



"Prénom" étant le nom de ta colonne.
0
Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006
31 mai 2005 à 13:56
ç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...
0

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

Posez votre question
Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006
31 mai 2005 à 14:02
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.
0
Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006
31 mai 2005 à 14:09
J'ai fais un drRecherche.read() et un drRecherche.close()
0
systemic_anomaly Messages postés 59 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 1 août 2005 4
31 mai 2005 à 14:10
tu sais mettre ton code stp
0
Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006
Modifié par jordane45 le 12/03/2014 à 09:07
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();


}
0
ysf.lee Messages postés 2 Date d'inscription mercredi 12 mars 2014 Statut Membre Dernière intervention 12 mars 2014
12 mars 2014 à 08:00
Merci bcp ^_^
0
Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006
31 mai 2005 à 14:16
C'est bon ça fonctionne !
Merci
0
systemic_anomaly Messages postés 59 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 1 août 2005 4
31 mai 2005 à 14:20
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.
0
Gueubaille Messages postés 34 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 31 mai 2006
31 mai 2005 à 14:33
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.
0
systemic_anomaly Messages postés 59 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 1 août 2005 4
31 mai 2005 à 14:38
Oki 2r1
0
Rejoignez-nous