C# SQLCE SELECT ... WHERE [Résolu]

Signaler
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010
-
cs_TGSI
Messages postés
15
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
9 mai 2010
-
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

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
35
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é. -
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
35
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é. -
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010

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.
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
35
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é. -
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010

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 ?
Messages postés
24
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
18 mai 2010

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 :-)
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
35
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é. -
Messages postés
15
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
9 mai 2010

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";
        
                    }

                }