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 :

Arrrrg \ et '


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 18
    Par d�faut Arrrrg \ et '
    Bonjour, voici mon probleme :
    lors d'une migration de base de donnees, je dois r�cup�rer un libelle texte qui contient le cractere ' (code ASCII : 39)
    Seulement voila, je dois deja le mettre entre ' dans mon TQuery... J'en ai donc un en trop � la fin => Probleme...

    J'ai deja essaye de rajouter un \ avant mais Buider est trop intellignet et ne me rajoute pas \ mas \\ !!!

    Comment faire ???

  2. #2
    Membre �prouv�
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Par d�faut
    utilise ParamByName, il me semble que c'est le seul moyen de r�soudre le probl�me, il me semble ...

  3. #3
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 18
    Par d�faut
    Il faudrait donc que j'ai :

    Query1->ParamByName(MonLibelle);

    Query1->SQL->Add("insert into Table values (" + Query1->ParamByName->AsString + ")");


    Est ce bien cela ???

  4. #4
    exe
    exe est d�connect�
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    39
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 39
    Par d�faut
    Non ce n'est pas ca.Mais plutot:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    Query1->SQL->Clear();
    Query1->SQL->Add("insert into Table values 
    (':maChaine',:monNumero,':maDate')");
    Query1->ParamByName("maChaine")->AsString="je l'ai fait";
    Query1->ParamByName("monNumero")->AsInteger=15;
    Query1->ParamByName("maDate")='06/08/2003';
    J'espere que ca va marcher.Tu peux aussi regarder la doc...

  5. #5
    Membre �prouv�
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Par d�faut
    non je crois plutot que c'est ca :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AnsiString req="insert into Table values(:maChaine,:monNumero,:maDate)"; 
     
    Query1->SQL->Clear(); 
    Query1->SQL->Add(req);
    Query1->ParamByName("maChaine")->AsString="je l'ai fait"; 
    Query1->ParamByName("monNumero")->AsInteger=15; 
    Query1->ParamByName("maDate")->AsString="06/08/2003";

  6. #6
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 18
    Par d�faut
    Tu as raison pour l'ecriture mais il ne connait pas le param "Libelle"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Query1->ParamByName("Libelle")->AsString = MonLibelle;
    Il faut donc que je le d�finisse mais lorsque je clique sur PArams dans les propri�t�s du Query, je ne peux pas ajouter de Param ???

    Aurais tu une id�e ?

  7. #7
    exe
    exe est d�connect�
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    39
    D�tails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 39
    Par d�faut
    On t'a donne un exemple utilisant 3 parametres!!!Essaie de faire de meme avec le nom de ta table.Regardes bien cet exemple:il y a : apres chaque parametre.C'est comme ca qu'on les introduit (les parametres) dans les requetes.Fais de meme avec Libelle.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    AnsiString req="insert into Table values(:Libelle,:.....;
    //et ensuite
    Query1->ParamByName("Libelle")->AsString = MonLibelle;

  8. #8
    Membre �prouv�
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Par d�faut
    non, non ton param�tre est d�fini dans ta requ�te par ":" (j'avais un peu tronqu� la requete mais la voici entiere)
    tu pourrais aussi bien faire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AnsiString req="insert into Table (Libelle,Numero,Date) values(:Param1,:Param2,:Param3)"; 
     
    Query1->SQL->Clear(); 
    Query1->SQL->Add(req); 
    Query1->ParamByName("Param1")->AsString="je l'ai fait"; 
    Query1->ParamByName("Param2")->AsInteger=15; 
    Query1->ParamByName("Param3")->AsString="06/08/2003";
    attention, certains noms sont reserv�s (cf DATE,...) il faut faire attention

  9. #9
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 18
    Par d�faut
    MERCI pour votre aide

+ R�pondre � la discussion
Cette discussion est r�solue.

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