IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

C# SQL sur ouverture de ma page


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 507
    Par défaut C# SQL sur ouverture de ma page
    Bonjour,
    Je suis désespéré , je n'arrive pas à mettre en oeuvre une procédure avec la fonction DATEAAD, voici dans un premier temps mon code qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     string connectionString = null;
     OleDbConnection cnn;
     string sql = null;
     OleDbDataReader reader;
     
     string RechMSTPE18 = "MSTPE";
     string RechEmail19 = "NON";
     
     string date1 = DateTime.Now.ToShortDateString();   // DAte J
     
     
     connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\resources\BDD.accdb;Persist Security Info=False";
     sql = "Select * from Tble_MES_bds_121 WHERE " +
             "(Date_MES IS NULL)" + // Recherche uniquement si il y a une date vide
             " AND (Email LIKE ? + '%')" + // Recherche si dans colonne email il y a NON
             " AND (Statut LIKE ? + '%')"; // Recherche du mot MSTPE
     
         //   trois conditions sur quatre pour poursuivre mon code
     
         cnn = new OleDbConnection(connectionString);
         cnn.Open();
         OleDbCommand cmd = new OleDbCommand(sql, cnn);
     
         cmd.Parameters.AddWithValue("@Email", RechEmail19);
         cmd.Parameters.AddWithValue("@Statut", RechMSTPE18);
         cmd.Parameters.AddWithValue("@Date_fin_MSTPE", date1);
     
         reader = cmd.ExecuteReader();
     
         while (reader.Read())
     
         { //  ICI mon code  }
     
         reader.Close();
         cmd.Dispose();
         cnn.Close();
    Maintenant que ça fonctionne, j'aimerais ajouter en supplément une autre valeur, dans la colonne (DATE_fin_MSTPE) je dois chercher une date et lui extraire 7 jours et si = date1 alors mon code démarre :

    Et là, je suis incapable de le faire fonctionner.

    A des fins d'entraînement, j'ai écrit ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     sql = "Select * FROM Tble_MES_bds_121 WHERE (Date_fin_MSTPE LIKE ? + '%')"; // ce code tout simple fonctionne
    Du coup j'ai le doute de savoir si je fais bien, ou mettre DATEADD (dans le SELECT, en se servant de SET).
    Dans la condition WHERE comme je le pense, honnêtement j'ai tout essayé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    sql = "SELECT * FROM Tble_MES_bds_121 WHERE (DATEADD(dd, -7, Date_fin_MSTPE) LIKE ? + '%')";
    sql = "SELECT * FROM Tble_MES_bds_121 WHERE (DATEADD(d, -7, Date_fin_MSTPE) LIKE ? + '%')";
    sql = "SELECT* FROM Tble_MES_bds_121 WHERE (DATEADD(day, -7, Date_fin_MSTPE) LIKE ? + '%')";
    sql = "SELECT * FROM Tble_MES_bds_121 WHERE ((DATEADD(dd, 7, CONVERT(Date_fin_MSTPE))) Like  ? + '%')";
    sql = "SELECT * FROM Tble_MES_bds_121 WHERE (Date_fin_MSTPE=DATEADD(dd,-7,Date_fin_MSTPE) LIKE ? + '%')";
    Aucun ne fonctionne !
    Je viens de tester une autre solution, c'est d'ajouter 7 jours à ma date1 (now) et mon histoire fonctionne comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       string date1 = DateTime.Now.AddDays(7).ToShortDateString();   // DAte J + 7 jours
    Je contourne mon problème..., mais est-ce la bonne solution....?

    Une âme charitable aurait-elle la solution ?

    Par avance, merci.

  2. #2
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Citation Envoyé par BRUNO71 Voir le message
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (Date_fin_MSTPE LIKE
    Tes dates sont stockées dans des champs texte ?

Discussions similaires

  1. Position haut de page sur ouverture d'une nouvelle page
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/09/2007, 16h02
  2. Téléchargement de fichier puis ouverture d'une page sur un clic
    Par gy0m76 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/12/2006, 12h32
  3. [SQL] enregistrer le résultat dune page php en html sur le server
    Par lagag dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/10/2006, 14h04
  4. [phpBB] 16 Requêtes SQL sur la page index
    Par Heptaeon dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 21/09/2006, 17h12
  5. Réponses: 10
    Dernier message: 26/01/2005, 19h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo