ListBox & BDD (requête)

Résolu
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008 - 28 févr. 2006 à 16:16
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008 - 28 févr. 2006 à 16:54
salut a tout le monde.


voila j'ai un petit probleme tout "basique" que je n'arrive pas a résoudre..
En fait, j'ai un bouton, et lorsque j'appuis dessus j'aimerai qu'il maffiche dans une listbox le résultat d'une requete, j'ai essayé quasiment tout, mais la je suis a bout, j'arrive vraiment plus.. voici mon code, si quelqu'un veut bien jeter un coup d'oeil.. merci beaucoup..


string requete =
"SELECT id FROM tr_hdr WHERE " + somme_adr +
" = ip_dst ";



OleDbConnection connecte =
new
OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\begourret\\Bureau\\WindowsApplication_IP_ben\\WindowsApplication_IP_ben\\bd1.mdb");



OleDbDataAdapter adapter =
new
OleDbDataAdapter();


adapter.SelectCommand =
new
OleDbCommand(requete, connecte);



string num_str = adapter.SelectCommand.ToString();



OleDbCommand MaCommande =
new
OleDbCommand(requete, connecte);


connecte.Open();



OleDbDataReader MonReader = MaCommande.ExecuteReader();



try
{

while (MonReader.Read())
{

listBox1.Items.Add(MonReader.GetString(0));
}
}

catch (
Exception e2)
{

MessageBox.Show(e2.Message,
"exception adresses.cs");
}


MonReader.Close();

//listBox1.SelectedIndex=0;



MessageBox.Show(
"fin !",
"requete");



adresses.ActiveForm.Refresh();


connecte.Close();

Le message d'erreur retourné est "le cast spécifié n'est pas valide".
Merci d'avance de m'aider..

5 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
28 févr. 2006 à 16:35
Salut

Ne mélange pas les DataAdapter et les DataReader ;)
Essaie ceci, cela devrait suffire :


<HR>


string requete =
"SELECT id FROM tr_hdr WHERE " + somme_adr +
" = ip_dst ";

OleDbConnection connecte =
new
OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\begourret\\Bureau\\WindowsApplication_IP_ben\\WindowsApplication_IP_ben\\bd1.mdb");

OleDbDataAdapter adapter =
new
OleDbDataAdapter(requete, connecte);

DataSet ds =
new
DataSet();
adapter.Fill(ds);
listbox1.Datasource = ds.Tables[0];
listbox1.DisplayMember =
"id";


<HR>


Mx
MVP C#
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
28 févr. 2006 à 16:30
Salut, à mon avis c'est GetString qui pose problème, tes données ne sont pas des chaines !
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
28 févr. 2006 à 16:38
Si tu continus avec le reader remplace ton while comme ça :

while ( MonReader.Read( ) )
{
listBox1.Items.Add( MonReader[ 0 ].ToString( ) )
}
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
28 févr. 2006 à 16:41
Et si tu utilises la technique du DataReader, comme avec la technique de Lutinore, n'oublies pas de fermer ta connexion dans un finally{} ;)



Mx
MVP C#
0

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

Posez votre question
billut Messages postés 74 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 5 décembre 2008
28 févr. 2006 à 16:54
merci a tous !
ca marche !
vous etes tout simplement, heuu,comment dire.. trop forts ?

merci !!!
0
Rejoignez-nous