Requete SQL ComboBox

KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010 - 7 janv. 2010 à 10:49
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010 - 8 janv. 2010 à 16:45
Voila , ma liste se charge bel et bien dans ma premiere combobox mais avc la condition dans la requete2 WHERE Pays='"+pays+"'; pas moyen d'obtenir les codes postaux mis en relation avec le pays tandis que sans cette condition tous les codes postaux se chargent sans difficulté.
J'ai éssayé diverse méthodes mais sans succès. Pourriez vous m'éclairer sur l'erreur ?
		    while(myReader.Read())
    {
    			cbPays.Items.Add(myReader["Pays"]);
    }
    string pays = (string)cbPays.SelectedItem;
    string requete2 = "SELECT Departement FROM Europe WHERE Pays='"+pays+"';";
    OleDbCommand command2 = new OleDbCommand(requete2, Calculette);
    OleDbDataReader myReader2;
    myReader2 = command2.ExecuteReader();
    while(myReader2.Read())
    {
    	cbCP.Items.Add(myReader2["Departement"]);
    }
    Calculette.Close();

31 réponses

KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 11:34
Nan il n'en fait qu'a sa tête même avec sa.
Je te met l'erreur, peut être que cela te sera plus utile.

Exception System.IndexOutOfRangeException was thrown in debuggee:
Colonne13_5

GetOrdinal()
GetOrdinal()
get_Item()
ButtonCalcClick()
OnClick()
OnClick()
OnMouseUp()
WmMouseUp()
WndProc()
WndProc()
WndProc()
OnMessage()
WndProc()
DebuggableCallback()
System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop()
RunMessageLoopInner()
RunMessageLoop()
Run()
0
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 11:43
J'ai essayé de faire un MessageBox.Show(myReader2.Read()+"") voir un peu ce qu'il me donné sur l'autre requete et il m'affiche true.
JE le fais sur celui ci MessageBox.Show(myReader3.Read()+""); et il m'affiche false (juste avant l'erreur) je ne sais pas si sa peut aider j'essaye de chercher un peu d'indice.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
8 janv. 2010 à 15:14
Essaie valeur = (double)myReader3[0];

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 15:19
 myReader3.Read();
    double tarifs=(double)myReader3[0];
    MessageBox.Show(tarifs+"");


Le cast spécifié est invalide.
J'avais éssayé de juste l'afficher mais tjrs outofrange meme sans le stocker.
0

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

Posez votre question
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 15:29
En [0] sa m'affiche ce que je selectionne dans ma combobox
0
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 15:39
J'ai essayé en laissant dans la requete une colonne par défaut tout marche niquel!
Mais bon..voila que la personne choisisse 5 ou 1 elle aura tjrs le même prix..un peu absurde donc c'est vraiment au niveau de cette foutu variable. Je ne sais pas ce qu'il se passe mais bon je m'éforce de trouver !
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
8 janv. 2010 à 15:42
Refile ton code actuel please (enfin, avant la dernière modif dont tu parles)

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 15:45
string requete3 = "SELECT "+num+" FROM Europe WHERE Pays=@Pays AND Departement=@Departement;";
OleDbCommand command3 = new OleDbCommand(requete3, Calculette);
command3.Parameters.Add(new OleDbParameter("@Pays", pays));
command3.Parameters.Add(new OleDbParameter("@Departement", dep));
    OleDbDataReader myReader3;
    myReader3 = command3.ExecuteReader();
    myReader3.Read();
    double tarifs=(double)myReader3["Colonne" + num.ToString().Replace(",", "_").Replace(".", "_")];
    MessageBox.Show(tarifs+"");
    Calculette.Close();
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
8 janv. 2010 à 16:40
Il faut faire "SELECT Colonne" + num.ToString().Replace(",", "_").Replace(".", "_") + " FROM..."

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
8 janv. 2010 à 16:41
Au fait, MessageBox.Show(tarifs+""); c'est vraiment pas joli

MessageBox.Show(tarifs.ToString()); c'est mieux


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
KrqcS Messages postés 22 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 16:45
Tu sais que je viens de trouver pareil que toi ? XD

Merci on a trouvé en meme temps ^^.
J'étais entrain de craquer!!!
0
Rejoignez-nous