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 :

pb avec les apostrophes


Sujet :

SQL Firebird

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 708
    Points : 956
    Points
    956
    Par défaut pb avec les apostrophes
    Bonjour à tous voici mon pb
    j'ai la requête suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT NUM_PROJ, MONT_INITPROJ, NOMCOMP_PROJ, TYPE_PROJ, DATE_OBSEQUE 
    FROM PROJET_MOT  
    WHERE NOMCOMP_PROJ='COTISATION FUNERAILLES KOUASSI N'GUESSAN CHANTAL'
      [ODBC Firebird Driver][Firebird]Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 1, column 141 GUESSAN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT NUM_PROJ, MONT_INITPROJ, NOMCOMP_PROJ, TYPE_PROJ, DATE_OBSEQUE 
    FROM PROJET_MOT  
    WHERE NOMCOMP_PROJ=COTISATION FUNERAILLES KOUASSI N'GUESSAN CHANTAL
      [ODBC Firebird Driver][Firebird]Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 1, column 118
    FUNERAILLES
    le pb je sais qu'il faut faire comme ce ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT NUM_PROJ, MONT_INITPROJ, NOMCOMP_PROJ, TYPE_PROJ, DATE_OBSEQUE
    FROM PROJET_MOT
    WHERE NOMCOMP_PROJ='COTISATION FUNERAILLES KOUASSI N''GUESSAN CHANTAL'
    cad doubler l'apostrophe
    es qu'il faut que je créer une procedure perso sur windev pour le faire ou existe il une fonction sql dans firebird pour
    gerer cela automatiquement. je suis ouvert à toute proposition.

    je suis sur windows, FB 2.1, windev 11, ODBC Firebird Driver 2.0 ibphoenix

    merci

  2. #2
    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 : 61
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    d'abord pourquoi ODBC (en trop) alors qu'il y a manifestement un pilote natif windev (FireBird4WD)

    ensuite pour éviter ça, soit on utilise des requetes paramétrées, soit dans le langage utilisé on utilise une fonction qui fait la transformation comme le fait quotedstr dans Delphi par exemple (http://delphi.about.com/library/rtl/blrtlQuotedStr.htm)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 708
    Points : 956
    Points
    956
    Par défaut
    d'abord pourquoi ODBC (en trop) alors qu'il y a manifestement un pilote natif windev (FireBird4WD)
    cette classe native demande de faire de la programmation orienté objet( avec les classes).
    j'ai pas vraiment envi de réécrire mon code car j'utilise le code fournit par le RAD windev, qui prend un acces par ODBC.
    si j'ai donc compris pour mon pb de d'appostrophe il faudrait que j'ecrive une fonctions !
    il nya donc pas dans firebird une udf ou une fonction pour le faire ?
    merci

  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 : 61
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    il nya donc pas dans firebird une udf ou une fonction pour le faire ?
    complètement inutile
    utilise des requetes paramétrées
    ou ecris ton code correctement

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 708
    Points : 956
    Points
    956
    Par défaut
    evidament que j'utilise une requête paramétrée !
    ma question est : es qu'il faut moi même ecrire ma fonction pour gerer les apostrophes ou existe une fonction ou une udf qui peut m'aider dans firebird!
    merci

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Le problème se situe justement dans le passage de la chaine entre le client et FB. Donc tu ne trouvera pas de fonction dans une UDF pour le faire (puisque pour appeler une fonction UDF il faut envoyer la chaine à FB...).

    Le problème est purement local et donc la solution se trouve uniquement dans le code client. Donc soit il existe une fonction équivalente dans windev au quotestr de Delphi qu'il faut que tu utilises systématiquement avant l'envoie d'une chaine, soit tu la développes toi même.

    Ce qui est étrange c'est qu'il me semblait que cela se faisait tout seul pour les requetes paramétrées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT NUM_PROJ, MONT_INITPROJ, NOMCOMP_PROJ, TYPE_PROJ, DATE_OBSEQUE 
    FROM PROJET_MOT  
    WHERE NOMCOMP_PROJ=:Param1;

  7. #7
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 708
    Points : 956
    Points
    956
    Par défaut
    je pense que je vais essaye tout ça voir
    merci

Discussions similaires

  1. Problème avec les apostrophes dans le sql en VBA
    Par cyrilboulan dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/03/2017, 10h11
  2. probleme avec les apostrophes
    Par pouss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/03/2006, 10h55
  3. [Tableaux] s'en sortir avec les apostrophes
    Par Atchoum_002 dans le forum Langage
    Réponses: 14
    Dernier message: 20/10/2005, 10h25
  4. Problème avec les apostrophes ASP - VBScript
    Par memebut dans le forum ASP
    Réponses: 4
    Dernier message: 19/08/2005, 15h16
  5. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39

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