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

SQL Firebird Discussion :

Parsing Error !


Sujet :

SQL Firebird

  1. #1
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut Parsing Error !
    Bonjour,

    J'ai juste un parsing error devant le f de f_weekofyear(date3);
    Fonction de FreeAdhocDll dans une sp je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     noWeekOfYear= select f_weekofyear(date3);
    j'ai ce parsing error avec IBEXPERT.
    date3 est de type date en faisant un cast d'une chaine de type varchar

    Par contre, dans le SQL EDITOR avec ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select f_weekofyear('12/31/2008') from rdb$database;
    Ca fonctionne bien.

    Merci de votre aide
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Citation Envoyé par freud Voir le message
    ...dans une sp je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     noWeekOfYear= select f_weekofyear(date3);
    N'est-ce pas plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      SELECT f_weekofyear(date3) 
      FROM TaTable
      WHERE -- ...
      INTO :noWeekOfYear;
    Non ?

    @+ Claudius

  3. #3
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Merci,

    Non ce n'est pas depuis une table que je récupère la date je fais ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    chaine3=CAST(ANNEE AS VARCHAR(4))||'/1/1';
    date3=CAST(chaine3 as date);
    Et ensuite je fais mon traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    num_mois=EXTRACT(MONTH FROM date3);
    num_semaine=  EXTRACT(WEEKDAY FROM date3);
    Ca marche bien sauf pour ce problème cité plus haut.
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  4. #4
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    on ne peut pas pas faire un select sans clause from
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT f_weekofyear('12/31/2008') FROM rdb$database INTO :noWeekOfYear;
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  5. #5
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Oui mais je ne peux pas mettre une date fixe. Je dois extraire depuis une variable de type date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT f_weekofyear(date3) FROM rdb$database INTO :noWeekOfYear;
    et ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Column does not belong to referenced table.
    Dynamic SQL Error.
    SQL error code = -206.
    Column unknown.
    DATE3.
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    date3 est donc un paramètre ? ce qui fait qu'il manque le ':'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT f_weekofyear(:date3) FROM rdb$database INTO :noWeekOfYear;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    ah ben oui c'est bien ça, suis passé completement à coté

    Mais comme j'ai ces deux lignes qui fonctionnent bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    num_mois=EXTRACT(MONTH FROM date3);
    num_semaine=  EXTRACT(WEEKDAY FROM date3);
    Alors j'ai pas mis ces deux points...mais quand même c'est curieux...pourquoi ca marche sans les deux points pour ces lignes ?

    En tout cas Merci SergioMaster, et merci à tous
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  8. #8
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     noWeekOfYear= f_weekofyear(date3);
    fonctionne

    Pour les ordres "Select/insert/delete/update" les paramétres sont précédés de : sinon il cherche un nom de colonne.
    C'est comme ça.

    Dans le code des PS par contre (hors ordres SQL) on peut travailler sans les : devant les variables.

  9. #9
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    En effet ca marche bien ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    noWeekOfYear= f_weekofyear(date3);
    Et il fallait comprendre la règle d'application.

    Merci encore Barbibulle
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

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

Discussions similaires

  1. Parse Error...
    Par Anduriel dans le forum Langage
    Réponses: 5
    Dernier message: 09/10/2005, 02h23
  2. parse error
    Par Romain93 dans le forum C
    Réponses: 6
    Dernier message: 28/09/2005, 21h03
  3. je ne comprend pas un parse error
    Par bibi_64 dans le forum C
    Réponses: 3
    Dernier message: 21/09/2005, 14h00
  4. XML Parsing Error: not well-formed
    Par localhost dans le forum Valider
    Réponses: 5
    Dernier message: 16/06/2005, 14h20
  5. Parse error
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 02/02/2005, 10h55

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