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

billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 28 févr. 2006 à 16:16 - Dernière réponse : billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention
- 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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 28 févr. 2006 à 16:35
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de MorpionMx
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 28 févr. 2006 à 16:30
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
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 28 févr. 2006 à 16:38
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 28 févr. 2006 à 16:41
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
billut 74 Messages postés lundi 23 mai 2005Date d'inscription 5 décembre 2008 Dernière intervention - 28 févr. 2006 à 16:54
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.