C# SQLCE SELECT ... WHERE

Résolu
microraph Messages postés 24 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 18 mai 2010 - 15 mars 2010 à 20:00
cs_TGSI Messages postés 15 Date d'inscription mardi 15 mai 2007 Statut Membre Dernière intervention 9 mai 2010 - 23 mars 2010 à 17:11
Bonjour,

j'ai un tableau qui ressemble à ça :

++++++++++++++++++++++++++++
+ ID | NOM | D_NAISSANCE |
+.....|......|.............|
+.....|......|.............|
+.....|......|.............|

et j'aimerais à l'aide d'un fonction SELECT ... WHERE

afficher dans un listbox le nom des personnes qui sont nés pendant telles ou telles période (période définie dans 2 textbox (un pour le début, l'autre la fin)

Quelqu'un à une idée? Ca serait super car je tourne en rond avec les ...Parameters.AddWithValue( ...)

Merci a tous

8 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
16 mars 2010 à 15:34
C'est ça.

ça te renverra un SqlDataReader (ou SqlCeDataReader)

ensuite, il te suffira de faire une boucle

while(monReader.Read())
{
    // Tu lis ligne par ligne les résultats

    // Pour accéder à tes colonnes :
    monReader[0].ToString();
    monReader["nomDuChamp"].ToString();
    monReader.GetInt32(5);
}


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
16 mars 2010 à 10:32
Salut

Commande.CommandText = "SELECT * FROM maTable WHERE D_NAISSANCE BETWEEN @DebutPeriode AND @FinPeriode";
Commande.Parameters.Add(new SqlParameter("@DebutPeriode", DateTime.Parse(TextBox1.Text)));
Commande.Parameters.Add(new SqlParameter("@FinPeriode", DateTime.Parse(TextBox2.Text)));



Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
microraph Messages postés 24 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 18 mai 2010
16 mars 2010 à 13:32
Ok merci pour votre réponse aussi rapide.

Si jamais j'ai une question sur les commande SQL, est-ce que je peux trouver de l'aide/un ebook ou quoique ce soit de pratique et donc des explications concrètes sur le net ? en programmation c# bien entendu.

Merci a vous.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
16 mars 2010 à 13:54
Les SqlCommand C#, il n'y a pas grand chose à savoir dessus.
Il faut connaître :
- CommandText, qui contient soit la requête SQL, soit le nom de la procédure stockée.
- CommandType, qui indique s'il s'agit d'une requête ou d'une procédure stockée.
- Connection, pour se connecter à la base de données (cf www.connectionstrings.com)
- Parameters, pour définir des paramètres (CF mon message précédent)
- ExecuteNonQuery, pour exécuter une requête qui ne renvoie rien (INSERT, DELETE...)
- ExecuteScalar, pour exécuter une requête qui renvoie une colonne et une ligne (SELECT COUNT(*) FROM ...)
- ExecuteReader, pour lire les résultats un à un.

Après, l'autre chose qu'il faut apprendre, c'est le langage SQL lui-même. Et ça, tu trouveras tout sur Google.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0

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

Posez votre question
microraph Messages postés 24 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 18 mai 2010
16 mars 2010 à 14:29
OK Merci a toi

Langage SQL en lui-même ça va rien de compliqué.

Donc si j'ai bien suivi tes explications, pour ma part il faut que j'intègre les données précédemment sélectionnées sur une carte donc j'utiliserais un

command.CommandText = SELECT.....

puis après
command.ExecuteReader(). C'est ça ?
0
microraph Messages postés 24 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 18 mai 2010
16 mars 2010 à 18:53
Ok, je vais essayer tout ça dans les prochains jours.


D'où pondez vous tout ce code? ^^ Même sur le net j'ai des difficultés à trouver autant de code, clair en si peu de temps :-)
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
17 mars 2010 à 09:48
Bah la plupart du temps, soit j'ai vu ça sur MSDN, soit sur un site, soit juste avec les commentaires dans Visual Studio.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
cs_TGSI Messages postés 15 Date d'inscription mardi 15 mai 2007 Statut Membre Dernière intervention 9 mai 2010
23 mars 2010 à 17:11
Si quelqu'un pourrai m'aider. En faite, j'ai fais ma requête select, la boucle while comme plus haut dans votre topic, pour parcourir les enregistrements, sauf que quand je compare avec des données d'un formulaire, il n'y a que le dernier enregistrement qui renvoit une bonne réponse. Quelqu'un aurait-il une idée ?

while (lire.Read())
         {

                    if ((lire["LOGIN_AD"].ToString() == monLogin) && (lire["PASSWORD_AD"].ToString() == monPass))
                    {
                        test.Text = "Bien connecté";
                        Session["Type"] = "Admin";
                        Session["Login"] = (string)lire["LOGIN_AD"];
                        Session["Pass"] = (string)lire["PASSWORD_AD"];
                    }
                    else
                    {
                        test.Text = "Mauvaise connexion";
        
                    }

                }
0