Problème sur le remplissage d'une comboBox sous VS.NET2003

Bonjour,

J’ai une base de données SQL SERVER 2000 et une application sous VS.NET 2003

cette dernière (application VS.NET 2003) comporte une ComboBox auquel j’aimeré lui incrémenter des données de ma base SQL.

Je me demande comment faire??
Je voit partout du “DataTable” et du “DataSet” je me demande si je doit l’utiliser?? Si oui, comment dois-je procéder??

Merci d’avance pour vos réponse!!
Edité le 30/01/2008 à 09:53

Voila j’ai commencer quelque chose pour mon remplissage de ComboBox mais cela ne fonctionne pas :

private void NomClient_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			string req;
			req = "select NomClient from CLIENT";
			SqlDataAdapter adapt = new SqlDataAdapter();
			adapt.SelectCommand = new SqlCommand(req, connect);
			NomClient.Items.Add(adapt);
			NomClient.Items.Add(req);
		}

correspond au code se situant derrière la comboBox. il m’affiche le problème suivant :

Comment le résoudre??

Merci d’avance pour vos réponse!.
Edité le 25/01/2008 à 10:18

DataBinding

Merci pour ta réponse ‘KarLKoX’ mais j’ai pas vraiment trouvé comment faire pour remplir une ComboBox via des données de ma base.

Si tu peux m’aider a trouver comment résoudre les problème dont je parle au-dessus??

Si tu sait comment faire j’attend patiement ton / votre aide.

merci d’avance!!
Edité le 25/01/2008 à 10:17

J’ai continué et résolu mon problème ‘connect’, mon code donne cela :

private void NomClient_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			string req;
			req = "select NomClient from CLIENT";
			SqlDataAdapter adapt = new SqlDataAdapter();
			adapt.SelectCommand = new SqlCommand(req);
			//NomClient.Items.Add(adapt);
			NomClient.Items.Add(req);
	}Mais mon problème c'est que dans ma comboBox, il m'affiche "SqlDataAdapter1" et si je clique dessus et que je refais défiler ma comboBox il m'affiche "System.Data...." et "Select...." alors que moi je souhaiterais qu'il m'affiche le résultat de la requête seulement.

Lorsque je fais un ‘pas à pas’ il me dit que “req=null” jcomprend pas pourquoi!!
Comment dois-je faire pour résoudre ce problème??

merci d’avance
Edité le 25/01/2008 à 10:44

Tu as tout dans la doc : il suffit de faire pointer le membre datasource de la combobox à ton dataset en ayant préalabement valorisé les membres DisplayMember et ValueMember pour permettre à la combox de faire le lien entre l’id et la valeur à afficher (dynamiquement).
Edité le 25/01/2008 à 14:06

merci pour tes renseignements mais j’ai réussit en faisant :

public NouvelleIntervention()
		{
			//
			// Requis pour la prise en charge du Concepteur Windows Forms
			//
			InitializeComponent();

			
			SqlConnection connection;
			SqlCommand command;
			SqlDataReader rader;

			connection = new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=stage_essai;Integrated Security=SSPI");
			command = new SqlCommand("SELECT NomClt FROM CLIENT", connection);
			connection.Open();
			try
			{
				rader = command.ExecuteReader();

				try
				{
					while (rader.Read()) 
						NomClient.Items.Add(rader["NomClt"]);

					//NomClient.Items.Add(Convert.ToString(rader["NumClt"]));

				}
				finally
				{
					rader.Close();
				}
			}
			finally
			{
				connection.Close();
			}
			//
			// TODO : ajoutez le code du constructeur après l'appel à InitializeComponent
			//
		}

maintenant j’aimerais réaliser :

Je t’assure, lit le code source de l’exemple, TOUT y est, la réponse à ta question s’y trouve même dans ma réponse.

Quel code source parle tu?? De celui que tu ma envoyé l’autre jour : DataBinding (réponse du le 24 Janv. 08 à 23h21)

Mais je trouve dedans. Peux tu m’aider plus s’il te plais??

Merci d’avance!!

Oui, je parle bien de celui la, il permet, je cite :

J’ai réussis a effectuer ce que je souhaité!!

je souhaiterais avoir 2 combo dont la première est "NomClient" et la deuxième s'appelle "NomContact". J'aimerais que "NomContact" se remplisse selon "NomClient". 
EX : NomCLT 
fr
gh

Si je choissit fr, j'aimerais que "NomContact" m'affiche les nom des contacts correspondant a fr. 
Comment puis-je réaliser cela??

En sachant que le "NumClt" est dans la table "CLIENT" et le "NomContact" se situe dans la table "CONTACT". 
Puis l'identifiant de "NumClt" se situe dans la table "CONTACT" en tant que clé étrangére.

le résultat est :

// Code permettant de remplir la deuxième combo
			// correspondant au Nom des contacts
			NomContact.Visible=true;
			SqlConnection connection;
			SqlCommand command;
			SqlDataReader rader;

			connection = new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=DistribInfo;Integrated Security=SSPI");
			command = new SqlCommand("SELECT  C_NOMCLT, CT_NOMCTACT FROM CONTACT, CLIENT WHERE CONTACT.CT_NUMCLT=CLIENT.C_NUMCLT AND C_NOMCLT='" + NomClient.Text + "'", connection);
			connection.Open();
			try
			{
				rader = command.ExecuteReader();
				try
				{
					while (rader.Read()) 
						NomContact.Items.Add(Convert.ToString(rader["CT_NOMCTACT"]));
				}
				finally
				{
					rader.Close();
				}
			}
			finally
			{
				connection.Close();
			}