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

Lazarus Pascal Discussion :

[SQLite] Nombre d'enregistrements d'une table entre deux dates [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut [SQLite] Nombre d'enregistrements d'une table entre deux dates
    Bonjour à tous,
    Me revoilà avec un autre problème. Je cherche le nombre d'enregistrements d'une table entre 2 dates. Le code ci-dessous fonctionne très bien avec Delphi 10.2 mais pas avec Lazarus 2.0.2. Ma BDD est sous SQlite avec les composants ZEOSLib. Tout fonctionne bien sauf cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var d1,d2 : String;
    begin
    with Dm.ZQuery1 do
      begin
        SQL.Clear;
        d1:=FormatDateTime('mm/dd/yyyy', DatePicker1.Date);
        d2:=FormatDateTime('mm/dd/yyyy', DatePicker2.Date);
        SQL.Add ('SELECT * FROM tblContacts WHERE Jour between #' + d1 + '# AND #' + d2 + '#');
        SQL.Add ('ORDER BY Numero ASC');
        Open;
        NbContacts.Caption := Format('%d', [Dm.ZQuery1.RecordCount]);
      end;
    J'ai le message suivant :

    Nom : message.jpg
Affichages : 560
Taille : 18,7 Ko

    Merci beaucoup pour votre aide éclairée.
    Merci et bon WE à tous.

  2. #2
    Membre prolifique Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 740
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 740
    Par défaut
    Bonjour,

    Je ne sais pas si ça peut venir de là, mais tu es encore dans le With dm.zquery1 quand tu fais ton affectation au contrôle en utilisant dm.zquery1.recordcount.
    Soit tu mets uniquement recordcount, soit tu places l'instruction en dehors du With.

    Selon moi

    JS

  3. #3
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Non, j'ai tout essayé, j'ai mis la ligne RecordCount après le with, je l'ai même mise en commentaire, même problème. J'ai l'intuition que ce sont les 2 DatePicker qui ne sont pas compatibles avec ceux de Delphi. Et je ne vois pas d'autre composant dans la palette Lazarus.
    En tout cas merci de vous être intéressé à ce cas.
    Et j'ai aussi ailleurs dans le code un problème de non-reconnaissance du type de variable TBookMark, reconnu par Delphi.
    A suivre donc...
    BD

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Pour info, le problème de TbookMark est résolu : il suffisait de déclarer Db dans les uses de l'unité. Pour le reste, status quo...
    Bon WE à tous.
    BD

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    N'y aurait-il pas une différence dans la façon de traiter le format date entre les 2 univers ?
    SQLite ne possède pas de format spécifique de stockage des dates : le type de colonne choisi ne pourrait-il pas jouer ?
    Ceci expliquerait pê le message d'erreur logique dans la requête.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Bonjour Tourlourou,
    Votre remarque est très intéressante. Je viens de regarder la structure de ma BDD Sqlite. Le champ Jour est en VARCHAR(10) (c-à-d DD/MM/AAAA), car effectivement le type DATE n'est pas proposé. Je précise que j'utilise le composant TDateTimePicker. J'ai essayé aussi le TMaskEdit. Rien à faire. Mais tout cela ne m'avance pas car je ne suis pas assez calé (si tant est que je le sois un peu !) pour trouver la solution. Si vous en avez une, je suis bien sûr preneur.
    Bon WE.
    BD

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/02/2016, 16h33
  2. [WB17] Filtrer une table entre deux dates
    Par LaGhyoute dans le forum WebDev
    Réponses: 1
    Dernier message: 16/06/2014, 10h35
  3. [phpMyAdmin] Comment vider une table entre deux dates ou entre deux id avec phpMyAdmin
    Par patrmich dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 24/05/2014, 14h48
  4. [DB] Nombre d'enregistrements d'une table
    Par Mister Nono dans le forum Bases de données
    Réponses: 26
    Dernier message: 09/05/2006, 09h51
  5. Nombre d'enregistrement dans une table MySQL
    Par tom06440 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 21/10/2005, 19h07

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