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

ASP.NET Discussion :

Comparaison date ASP:Calendar et date, générale BDD Access


Sujet :

ASP.NET

  1. #1
    Courgette17
    Invité(e)
    Par défaut Comparaison date ASP:Calendar et date, générale BDD Access
    Voila, j'ai d'un coté une BDD Access avec plein d'enregistrements de commandes ayant pour date un truc de ce genre : 06/03/2008 17:51:31
    C'est le format Date, général et j'aimerais le conserver.

    Et de l'autre coté j'ai ma traditionnelle page ASP.NET / VB.NET codebehind (avec de l'AJAX maintenant mais on s'en fout) avec un asp:calendar. Et j'aimerai qu'a chaque fois que l'on clique sur une date du calendrier ça affiche les enregistrements du jour pour les commandes. Mais les dates sortant du calendrier sont de ce type: 07/03/2008 .

    Je voudrais donc savoir comment réaliser ceci dans ma requête SQL pour comparer les deux dates et afficher les enregistrements : "WHERE DATE < var1 AND DATE > var2"

    J'avais pensé à ceci mais bien sur cela ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim dateaujour1 As Date = CType(Calendar1.SelectedDate & " 00:00:00", Date)
    Dim dateaujour2 As Date = CType(Calendar1.SelectedDate & " 23:59:59", Date)
    'puis requete sql
     
    SELECT * FROM orders WHERE datecommande > '" & dateaujour1 & "' AND datecommande < '" & dateaujour2 & "'
    Il me dit qu'il ne peut pas prendre ceci comme date (format de la chaine d'entrée incorrecte).

    Quelqu'un sait comment s'y prendre?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu passes une date au format string donc le format dépend de la culture, c'est pas bien.
    Utilises les requêtes paramétrées

  3. #3
    Courgette17
    Invité(e)
    Par défaut
    Le seul moyen que j'ai trouvé pour que Access me sorte des dates c'est ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM commande WHERE datecommande BETWEEN #26/02/2008# AND #27/02/2008#
    Mais lorsque j'essaye de reproduire ça en vb.net c'est autre chose:

    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
    Dim dateaujour1 As Date = Calendar1.SelectedDate
            Dim dateaujour2 As Date = dateaujour1
            dateaujour2 = dateaujour1.AddDays(1)
     
            Dim oConnection As New OleDbConnection()
            Dim sConnectionString As String
            sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; data source=blabla.mdb"
            oConnection.ConnectionString = sConnectionString
            oConnection.Open()
            Dim cmd As OleDbCommand
            cmd = New OleDbCommand("SELECT * FROM orders WHERE datecommande BETWEEN @dateaujour1 AND @dateaujour2", New OleDbConnection(sConnectionString))
     
            Dim param4 As DbParameter = cmd.CreateParameter()
            param4.ParameterName = "@dateaujour1"
            param4.DbType = DbType.DateTime
            param4.Value = dateaujour1
            cmd.Parameters.Add(param4)
     
            Dim param5 As DbParameter = cmd.CreateParameter()
            param5.ParameterName = "@dateaujour2"
            param5.DbType = DbType.DateTime
            param5.Value = dateaujour2
            cmd.Parameters.Add(param5)
    Il ne me sort aucun résultat de cette manière.
    Dernière modification par Courgette17 ; 10/03/2008 à 10h30.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  2. [Date et Calendar] Calendar ne revoie pas la bonne date
    Par Flophx dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 23/11/2006, 16h03
  3. [4D et ASP.NET] Type Date
    Par vinz81 dans le forum 4D
    Réponses: 26
    Dernier message: 05/10/2006, 16h05
  4. [C#] Comment afficher une date sur un <asp:calendar> ?
    Par fresh94 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/07/2006, 14h55
  5. INSERT INTO avec date (asp/access)
    Par ddeee dans le forum ASP
    Réponses: 2
    Dernier message: 30/03/2006, 13h07

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