C# - remplir textbox avec requete sql

Signaler
Messages postés
28
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
19 décembre 2006
-
Messages postés
28
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
19 décembre 2006
-
Bonjour à tous.
Je suis débutante en C# et je dois avouer que j'ai pas mal de soucis pour faire des petite choses. Je travaille sur Pocket PC.
Bref, là, j'ai une table client(nom,prenom,tel,mail)
Je rempli une combobox(list_client) avec une requete SQL qui va chercher le nom des clients (pour le moment ma combo contient DUPONT, MARTIN,...)
Je voudrais qu'en selectionnant un nom dans la liste, ça remplisse les champs texte de ma page.
Pour le moment, j'ai fais un ça :


SqlCeDataReader reader = null;
SqlCeConnection connection = null;
SqlCeCommand command = null;
Object[] row = null;
// Chaîne de connexion
connection = new SqlCeConnection(@"Data Source=\My Documents\maBase.sdf");
// Objet Command command new SqlCeCommand("SELECT * FROM CLIENT WHERE nom '"+list_client.SelectedItem+"'", connection);
connection.Open();
reader = command.ExecuteReader();
row = new Object[reader.FieldCount];
reader.GetValues(row);
TB_client.Text = row.GetValue(2).ToString();
// Fermeture reader
reader.Close();
// Fermeture connection
connection.Close();

Mais ça ne fonctionne pas. J'ai une erreur au niveau de la ligne :
TB_client.Text = row.GetValue(2).ToString();

Voici mon erreur :
No data exists for the row/column

Est ce que quelqu'un pourrait m'aider à comprendre comment ça fonctionne. Merci d'avance.

2 réponses

Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
A la place de
row = new Object[reader.FieldCount];
reader.GetValues(row);
TB_client.Text = row.GetValue(2).ToString();

je ferais un
while (reader.read())
{
tb_client.Text = reader.Getstring(2);
}

kkchose comme cela...
pit etre...


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
28
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
19 décembre 2006

J'ai essayé de mettre TB_client.Text = "ABCD"; pour tester et ça ne fonctionne pas nom plus, ça me donne la même erreur mais je ne sais pas d'où ça peut venir...