caela
Messages postés68Date d'inscriptionmercredi 9 décembre 2009StatutMembreDernière intervention19 avril 2012
-
17 déc. 2009 à 09:44
caela
Messages postés68Date d'inscriptionmercredi 9 décembre 2009StatutMembreDernière intervention19 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"
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 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é ! -