Remplir une listbox avec une base de donne

shinevilkyo Messages postés 52 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 3 août 2004 - 1 déc. 2003 à 11:50
ethmane89 Messages postés 2 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 17 mai 2011 - 17 mai 2011 à 19:52
bonjour,

je recherche le moyen de remplir un composant listebox
avec des donnees issues d'une requete SQL du
genre "SELECT * FROM CD WHERE cd_NAME != NULL".

le probleme c est que je sais lancer la requette mais apres je ne sais pas comment faire pour recupere les donne renvoye par la base donnees pour les integre dans une listbox

quelqu'un pourais t'il m aider
A voir également:

9 réponses

stegars Messages postés 24 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 25 février 2004 2
2 déc. 2003 à 17:13
Tu as deux facons de faire:

1. De facon Déconnecté utilisqnt un dataset
OleDbConnection cnn = new OleDbConnection(ConnectionString);

OleDbCommand cmd = new OleDbCommand("SELECT * FROM CD WHERE cd_NAME != NULL", cnn);

OleDbDataAdapter da = new OleDbDataAdapter(cmd);

DataSet ds = new DataSet();

try{
    da.Fill(ds, "CD");
    lbTest.DataSource = ds.Tables["CD"];
    lbTest.DisplayMember = "cd_NAME";
}
catch{}


2. De facon Connecter utilisant un dataReader
OleDbConnection cnn = new OleDbConnection(ConnectionString);

OleDbCommand cmd = new OleDbCommand("SELECT * FROM CD WHERE cd_NAME != NULL", cnn);

OleDbDataReader dr;

try{
    cnn.Open();
    dr = cmd.ExecuteReader
(CommandBehavior.CloseConnection);

    while(dr.Read()){
        lbTest.Items.Add(dr["cd_NAME"]);
    }
}
catch{}
finally{
    cnn.Close();
}


Stegars
2
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
2 déc. 2003 à 17:06
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet11);
listBox1.DisplayMember = "FirstName";
listBox1.DataSource = dataSet11.Employees;
sqlConnection1.Close();


explications:
- sqlConnection1 est de type SqlConnection
- sqlDataAdapter1 est de type SqlDataAdapter et se dirige vers la table Employees de la base Northwind (SqlServer).
- dataSet11 est de type DataSet1 (qui est un DataSet typé généré à partir des ADODataAdapters présents (ici sqlDataAdapter1)
- DisplayMember est le champs (colonne) de la table Employees qui sera afficher dans les différents Item de ta listbox.
- DataSource est la source de données (ici la table Employees du dataset typé). Il est important pour un ListBox de préciser un nom de table comme source de données et non un DataSet directement.

[Membre du laboratoire .NET de SUPINFO]
0
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
2 déc. 2003 à 23:06
Ca fait un peu violent pour une simple liaison de données ...

[Membre du laboratoire .NET de SUPINFO]
0
shinevilkyo Messages postés 52 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 3 août 2004
2 déc. 2003 à 23:23
c'est ce j'ai trouver comme solution 20 min apres avoir poster ce message (je parle de la methode 2) mais je te remerci beaucoup d'avoir repondu comme meme .Par contre maintenat c es't de passer a une fonction d'impression les element selectionne dans ma listview qui est plus compliquer .car ce que je veux imprimer c'est pas information contenu ds ma listview mais les information auquel font reference l'object selectionne(reference a ce que contient la base de donne)

bon je sais po si tu as tout compris mais si tu sais faire explique le moi
0

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

Posez votre question
vdl1982 Messages postés 1 Date d'inscription dimanche 16 mai 2004 Statut Membre Dernière intervention 8 novembre 2004
8 nov. 2004 à 19:17
et comment le remplir qu'avec certains champs, j'entends par là, effectuer un select sur le dataset... ce qui me retourne un DataRow[]...

voila mon code... qui ne marche pas. J'ai une erreur sur le displaymember

listBox1.BeginUpdate();
DataRow[] dr = dataset.Tables[0].Select("ID=5", "nom asc");
listBox1.DataSource = dr;
listBox1.DisplayMember = dataset.Tables[0].Columns["nom"].ToString();
listBox1.ValueMember = dataset.Tables[0].Columns["ID"].ToString();
listBox1.EndUpdate(); 


merci de votre aide
0
xapatta Messages postés 1 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 1 juin 2005
1 juin 2005 à 13:28
Mais si je ne m'abuse, ce code (en tout cas, ce qui concerne les DisplayMember) ne fonctionne qu'en WinForm. J'ai le même problème en WebForm, il faut alors passer par une solution moins élégante... A moins que je ne me sois trompé quelque part...
0
cs_zelastwarrior Messages postés 33 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 juin 2005
10 juin 2005 à 23:49
je relance le sujet car j'ai un problème

qd je modifie mon dataset le listbox ne se met pas a jour et au contraire il perd la ligne mise a jour ??

une solution?

from niko
0
ethmane89 Messages postés 2 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 17 mai 2011
17 mai 2011 à 19:50
merci tout
0
ethmane89 Messages postés 2 Date d'inscription mercredi 4 mai 2011 Statut Membre Dernière intervention 17 mai 2011
17 mai 2011 à 19:52
commant lier ListBox avec base de donnnées
0
Rejoignez-nous