ListBox & BDD (requête) [Résolu]

Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
- - Dernière réponse : billut
Messages postés
74
Date d'inscription
lundi 23 mai 2005
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..
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
3
Merci
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#

Merci MorpionMx 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de MorpionMx
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
0
Merci
Salut, à mon avis c'est GetString qui pose problème, tes données ne sont pas des chaines !
Commenter la réponse de Lutinore
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
0
Merci
Si tu continus avec le reader remplace ton while comme ça :

while ( MonReader.Read( ) )
{
listBox1.Items.Add( MonReader[ 0 ].ToString( ) )
}
Commenter la réponse de Lutinore
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
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#
Commenter la réponse de MorpionMx
Messages postés
74
Date d'inscription
lundi 23 mai 2005
Dernière intervention
5 décembre 2008
0
Merci
merci a tous !
ca marche !
vous etes tout simplement, heuu,comment dire.. trop forts ?

merci !!!
Commenter la réponse de billut

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.