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

microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention - 15 mars 2010 à 20:00 - Dernière réponse : cs_TGSI 15 Messages postés mardi 15 mai 2007Date d'inscription 9 mai 2010 Dernière intervention
- 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
Afficher la suite 

8 réponses

Répondre au sujet
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 16 mars 2010 à 15:34
+3
Utile
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é. -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimog
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 16 mars 2010 à 10:32
0
Utile
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é. -
Commenter la réponse de krimog
microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention - 16 mars 2010 à 13:32
0
Utile
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.
Commenter la réponse de microraph
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 16 mars 2010 à 13:54
0
Utile
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é. -
Commenter la réponse de krimog
microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention - 16 mars 2010 à 14:29
0
Utile
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 ?
Commenter la réponse de microraph
microraph 24 Messages postés dimanche 21 octobre 2007Date d'inscription 18 mai 2010 Dernière intervention - 16 mars 2010 à 18:53
0
Utile
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 :-)
Commenter la réponse de microraph
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 17 mars 2010 à 09:48
0
Utile
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é. -
Commenter la réponse de krimog
cs_TGSI 15 Messages postés mardi 15 mai 2007Date d'inscription 9 mai 2010 Dernière intervention - 23 mars 2010 à 17:11
0
Utile
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";
        
                    }

                }
Commenter la réponse de cs_TGSI

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.