Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1715 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  INSERT dans mySQL avec Delphi (problème de backslash)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

INSERT dans mySQL avec Delphi (problème de backslash)

n°1995452
css_Pikoo
Posté le 23-05-2010 à 15:43:58  profilanswer
 

Bonsoir,
 
Je suis en BTS 2e année et je passe mes PTI dans une semaine.
Je poste très rarement sur les forums sous peur de me faire lynché par la communauté. Mais là, il y a problème ^^`
 
Mon projet Pascal développé sous Delphi7 est un répertoire de phrases du langage des signes (il affiche une vidéo ou une image quand une phrase est sélectionnée).
Mon application peut aussi ajouter des phrases. Lorsque l'utilisateur crée une nouvelle phrase, il faut lui indiquer le lien de la vidéo ou de l'image. Nous y voila.
 

Code :
  1. DataModule.DataModule2.ADOCommand1.CommandText := 'INSERT INTO phraseVideo (id_phraseVideo, lien_video) VALUES (' + intToStr(identifiant) + ', mysql_escape_string( ' + QuotedStr(Self.lien_video) + ') )' ;
  2. DataModule.DataModule2.ADOCommand1.Execute;


 
Je rentre donc par exemple : 1 (en tant que id_phraseVideo) et "C:\Users\***\videos\Barre chocolatee.m1v"  (* étant quand même un chemin de dossiers)
 
Lors que je vais dans ma base de données MySQL, je retrouve bien ma phrase, mais le lien ajouté n'a plus ses backslash (\)
"C:\Users\***\videos\Barre chocolatee.m1v" devient donc : "C:Users***videosBarre chocolatee.m1v"
Et c'est problématique lors que le MediaPlayer cherche la video ^^`
 
Je sais qu'il existe une propriété en PHP mysql_escape_string(), existe elle en Delphi ?
 
Je vous remercie pour toutes éventuelles réponses :)
 
---
Alexandre Serre

mood
Publicité
Posté le 23-05-2010 à 15:43:58  profilanswer
 

n°1995454
css_Pikoo
Posté le 23-05-2010 à 16:32:33  profilanswer
 

Bon j'en ai parlé à des collègues et personne ne connait la fonction. Ils m'ont donc conseillé de créer ma propre fonction :
 

Code :
  1. function TFo_ACCUEIL.doubleBackslash( lien : String ): String;
  2. begin
  3.      lien := StringReplace( lien, '\', '\\',[rfReplaceAll] );
  4.      doubleBackslash := lien;
  5. end;


 
StrinReplace a 4 paramètres :  
lien : étant la variable de type String à modifier
'\' : est de type String et est le caractère à changer
'\\' : est de type String et est le caractère qui le remplace
[rfReplaceAll] : permet de dire qu'il faut changer partout dans la variable à modifier.
 
Pour que le MySQL ne rejète pas le '\' il faut le doubler. C'est le cas de ma fonction.
 
---
Alexandre Serre


Message édité par css_Pikoo le 23-05-2010 à 16:33:58

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  INSERT dans mySQL avec Delphi (problème de backslash)

 

Sujets relatifs
questions très précises MySQL (gestion de cache et autres)Résolu : variable modifiée par l'affectation d'une autre variable
voir 4 eme reponse probleme chonometreProbleme de fgets sur une ligne
[RESOLU] probleme de curseur jqueryProblème avec Online.net / Mysql
[Java] Problème de dessin dans jPanel[MySQL] Sous requete
Plus de sujets relatifs à : INSERT dans mySQL avec Delphi (problème de backslash)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR