Erreur de code

Résolu
caela Messages postés 68 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 19 avril 2012 - 17 déc. 2009 à 09:44
caela Messages postés 68 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 19 avril 2012 - 17 déc. 2009 à 14:57
Salut à tous voilà j'essai de lier mon listview à
ma base, mon but est d'afficher seulement les valeurs
de la colonne sigle_dest, voici donc mon code:

string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\Stagiaire\\Mes documents\\judi\\LCT\\LCT\\LCT\\LCT.mdb";
string s = "SELECT * FROM Destinataires";
OleDbConnection oConnection = new OleDbConnection(strconn);
OleDbCommand oCommand = new OleDbCommand();
oCommand.Connection = oConnection;
oCommand.CommandText = s;
oConnection.Open();
OleDbDataReader oReader = oCommand.ExecuteReader();
do
{
sigle_destCheckedListBox.Items.Add(oReader.GetString(0));
}
while (oReader.Read());
oReader.Close();
oConnection.Close();


quand je le lance il y a une erreur du genre comme ça:
"l'exception InvalidOperation n'a pas été gérée:
=>Aucune donnée n'existe pour la ligne/colonne"

est-ce que quelqu'un a une solution svp?
merci.

3 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
17 déc. 2009 à 10:01
Quand ton oReader est créé il ne correspond pas encore à ton 1er élément : il faut d'abord utiliser la méthode oReader.Read();

Il y a donc 2(.5) raisons d'utiliser un while à la place du do-while :
- Tu n'auras pas à faire un oReader.Read() avant
- Si ta requête ne renvoie aucun résultat, tu n'auras pas d'exception générée.
- (et en plus tu gagnes 5 octets dans ton code source xD )

OleDbDataReader oReader = oCommand.ExecuteReader();
while (oReader.Read())
{
    sigle_destCheckedListBox.Items.Add(oReader.GetString(0));
}


PS : Utilise les balises
 ... 
autour de ton code.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
17 déc. 2009 à 10:03
Ah, oui, j'avais oublié que les balises allaient être exécutées.
 ... 
en replaçant < et > par [ et ]

Tu peux aussi insérer ça automatiquement via la liste déroulante "code" au dessus de la zone de texte.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
caela Messages postés 68 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 19 avril 2012
17 déc. 2009 à 14:57
Infiniment merci!
Comme toujouors vous avez la réponse,
depuis des jours que je m'y colle!
Maintenant ça marche très bien!
0
Rejoignez-nous