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++Builder Discussion :

Boucle For dans un TDBGrid


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut
    oui en effet j'ai une erreur sur la parti du code source avec le champ date il me donne une message d'érreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Le projet sdiapp.ese a provoqué une classe d'exception EDBEngineError avec le message 'utilisation incorrecte du mot-clé.
    Element: Date
    Numéro de ligne :5'.
    Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    Donc alors si j'ai bien comprit il me faut changer le nom de ma colonne "Date" en autre chose c ca ??

    Merci bcp pour votre aide je débute et j'ai un pe de mal

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Date est un nom-clé du SQL donc interdit dans les noms de champs (et je crois même de tables).
    Si tu veux des infos sur le SQL, regardes ce tuto.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut
    En fait j'ai changer mes base de données et les seule modification que j'ai apporter c'est de changer le nom de la colonne "Date" par "Jour" mais kan je fais les modifications dans mon code source et que je compile il me donne un message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Différence de type dans une expression
    Donc si je ne me trompe pas c'est le problème dons vous parlez au dessus la date qui n'est pas au bon format alors faut'il que je change le format de la date que je met dans ma base de données ou alors est-ce qu'il y a un moyen de changer le format de la date avec laquel je compare ma date de ma base de données ? ? ?

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Tu l'as où précisement cette erreur???
    C'est dans le code ou à l'exécution???
    Si c'est dans le code, c'est à quelle ligne (donnes la ligne au passage) et si c'est à l'exécution, donnes nous la ligne qui plante...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut
    Mon code source modifier est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Query->Close();
    Query->SQL->Clear();
    Query->SQL->Add("SELECT DISTINCT T1.TypeEntre AS Type, T1.TypeBillet AS Billets, COUNT(T1.TypeBillet) AS NombreEntreeParType, SUM(T1.Quantite) AS NombreBilletsParType, SUM(T1.Total) AS TotalVenteParType");
    Query->SQL->Add("FROM 'Vente.db' T1");
    Query->SQL->Add("WHERE T1.TypeEntre <> ''");
    Query->SQL->Add("AND T1.TypeBillet <> ''");
    Query->SQL->Add("AND T1.Jour = " + Date());
    Query->SQL->Add("GROUP BY T1.TypeEntre, T1.TypeBillet");
    Query->Open();
    L'erreur est a l'exécution et elle plante a la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query->SQL->Add("AND T1.Jour = " + Date());

  6. #6
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Essayes avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query->SQL->Add("AND T1.Jour = " + QuotedStr(Date().DateString()));
    mais je ne promets rien.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut
    j'ai essailer cette ligne elle compile bien et s'execute bien mais le problème c'est quel ne fais rien elle me met une ligne dans mon tableau mais ne me fais pas la rechercher des lignes a mettre

  8. #8
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    C'est peut-être le format.
    Dans ce cas, regardes du côté de FormatDateTime dans l'aide.

    Citation Envoyé par Aide de Builder
    Formate un objet TDateTime.

    extern PACKAGE AnsiString __fastcall FormatDateTime(const AnsiString Format, System::TDateTime DateTime);

    Description

    FormatDateTime formate l'objet TDateTime spécifié par DateTime en utilisant la chaîne de formatage Format. Pour plus d'informations, voir Chaînes de format date/heure.

    Si la chaîne spécifiée par le paramètre Format est vide, l'objet TDateTime est implicitement formaté avec le spécificateur de format 'c'.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut
    J'ai regarder mais sa ne marche pas alors j'ai essailer de mettre cette ligne pour changer la date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query->SQL->Add("AND T1.Jour = " + QuotedStr(FormatDateTime("yy/mm/dd", Now() + 0)));
    et sa marche donc merci bcp pour toute l'aide que vous m'avez apporter

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Tableaux] Utiliser une boucle for dans un echo
    Par maoboy dans le forum Langage
    Réponses: 7
    Dernier message: 18/06/2007, 13h55
  2. boucle "for" dans "do while"
    Par oranoutan dans le forum C#
    Réponses: 13
    Dernier message: 05/06/2007, 21h13
  3. Une boucle for dans un switch case?
    Par Death83 dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2006, 14h05
  4. boucle for dans un if...
    Par SylverFox dans le forum Débuter
    Réponses: 3
    Dernier message: 11/08/2004, 16h57
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07

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