Remplir un combobox à partir d'une BDD
Fermé
KheNek
Messages postés
2
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
3 avril 2013
-
2 avril 2013 à 14:02
Utilisateur anonyme - 3 avril 2013 à 17:29
Utilisateur anonyme - 3 avril 2013 à 17:29
A voir également:
- Remplir un combobox à partir d'une BDD
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Organigramme a remplir word - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Remplir et signer pdf - Guide
- Combien y a-t-il de bateaux dans la zone de 475 pixels de large et 1000 pixels de haut à partir du coin supérieur gauche de cette image ? - Forum Photoshop
4 réponses
Utilisateur anonyme
3 avril 2013 à 16:51
3 avril 2013 à 16:51
salut !
Déjà il faut voir au niveau de ton connecteur. Perso je ne connais pas cette utilisation, je fais un requêtage direct sur ma base et je récupère les infos à ecrire dans mes combo.
J'ai une petite classe faite pour :
je ne dis pas qu'elle est parfaite et fonctionne toujours, mais pour ma part ca fonctionne très bien.
bne journée
naga
Déjà il faut voir au niveau de ton connecteur. Perso je ne connais pas cette utilisation, je fais un requêtage direct sur ma base et je récupère les infos à ecrire dans mes combo.
J'ai une petite classe faite pour :
public class cMySql { private MySqlConnection pMySQL; private string sHost = ""; private int iPort = 0; private string sUser = ""; private string sPassword = ""; private string sDatabase = ""; private string sConnexionstring = ""; private string Erreur = ""; private bool bIsOk = false; private int iResultInFic; private string[] lastResult; //--constructeurs. Se connecte au moment de l'initialisation public cMySql() : this("127.0.0.1", 22, "root", "", "") { } public cMySql(string tsHost, int tiPort, string tsUser, string tsPassword, string tsDatabase) { sHost = tsHost; iPort = tiPort; sUser = tsUser; sPassword = tsPassword; sDatabase = tsDatabase; sConnexionstring = "server=" + sHost + ";User Id=" + sUser + ";password=" + sPassword + ";database=" + sDatabase + ";Allow User Variables=true"; connect(); } private void connect() { pMySQL = new MySqlConnection(sConnexionstring); pMySQL.Open(); } //--recuperer la derniere erreur public string GetErreur() { return Erreur; } //--lancer une requete de type query. renvoi {0:pas de resultats,1:ok,2:erreur} public int Query(string sQuery)//améliorer la récupération des résultats, à 16.000.000 de resultats, on se fait jeter { foreach(string s in Directory.GetFiles(@"c:\*.dump")) File.Delete(s); iResultInFic = 0; Erreur = ""; lastResult = new string[0]; bIsOk = false; int retour = 0; MySqlCommand cmdMySQL = pMySQL.CreateCommand(); cmdMySQL.CommandText = sQuery; MySqlDataReader reader; try { reader = cmdMySQL.ExecuteReader(); } catch (MySqlException e) { Erreur = e.Message.ToString(); return 2; } bIsOk = true; int nbChamps = reader.FieldCount - 1; string res = ""; List<String> tab = new List<String>(); while (reader.Read()) { for (int i = 0; i <= nbChamps; i++) res += reader.GetValue(i) + ";"; try { tab.Add(res); } catch (OutOfMemoryException e) { iResultInFic ++; using (StreamWriter sw = new StreamWriter(@"c:\tmpSql_" + iResultInFic.ToString() + ".dump")) foreach (string s in tab) sw.WriteLine(s); tab.Clear(); tab.Add(res); } res = ""; } if (tab.Count > 0) retour = 1; lastResult = new string[tab.Count]; int j = 0; foreach (string s in tab) { lastResult[j] = s; j++; } reader.Close(); return retour; } //--Executer une requete select, renvoi les résultats dans un tableau de string, chaque colonnes séparées par un ';', renvoi l'exeption en cas d'erreur public string[] getRes() { if (!bIsOk) { if (Erreur != "") { Exception e = new Exception(Erreur); throw e; } else { Exception e = new Exception("PAS DE REQUETE"); throw e; } } if (iResultInFic > 0) { throw new Exception("ficRes"); } return lastResult; } //--Executer une requete insert, 0 en cas d'erreur, 1 si ok public int Exec(string sExec) { MySqlCommand cmdMySQL = pMySQL.CreateCommand(); Erreur = ""; cmdMySQL.CommandText = sExec; try { cmdMySQL.ExecuteNonQuery(); } catch (MySqlException e) { Erreur = e.Message.ToString(); return 0; } return 1; } //--récupérer edernier identifiant insérer public int lastInsertId() { MySqlCommand cmdMySQL = pMySQL.CreateCommand(); cmdMySQL.CommandText = "SELECT LAST_INSERT_ID()"; MySqlDataReader reader = cmdMySQL.ExecuteReader(); try { if (reader.Read()) { return reader.GetInt32(0); } else { return 0; } } finally { reader.Close(); } } //--modifier base public void set_base(String tsBase) { sDatabase = tsBase; sConnexionstring = "server=" + sHost + ";User Id=" + sUser + ";password=" + sPassword + ";database=" + sDatabase + ";Allow User Variables=true"; connect(); } }
je ne dis pas qu'elle est parfaite et fonctionne toujours, mais pour ma part ca fonctionne très bien.
bne journée
naga
KheNek
Messages postés
2
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
3 avril 2013
3 avril 2013 à 17:12
3 avril 2013 à 17:12
Merci nagashima pour ta réponse, mais je voudrais savoir comment est-ce que tu remplies tes combo??
Utilisateur anonyme
3 avril 2013 à 17:29
3 avril 2013 à 17:29
et bien ensuite il te suffit de rajouter chaque element. Pour rajouter un element , de tête, c'est
taCombo.Items.Add(uneValeurEnString)