Re: stocker un champ RTF dans une base (MySQL ou HF) | Sujet: Re: stocker un champ RTF dans une base (MySQL ou HF) par daniel sur 17/2/2008 19:18:55
Il n'y a aucun problème pour stocker du RTF sous MySQL et ceci dès les premières versions de MySQL.
Le type de champ est "text".
Il suffit de prendre le code que je vous ai donné uniquement pour l'écriture.
En lecture un simple "select" est suffisant.
Dans votre cas il suffisait de faire
POUR ECRIRE LE RTF dans la base MySQL
v_chaine_ok est une chaîne = mySQLEscapeString(fen1.ONG_Onglet1.SCRTF3.SaisieTexte)
// pas besoin de quoter la chaine car fait par la fonction mySQLEscapeString
SQLExec("UPDATE `base`.`table` SET `rtf1` = "+v_chaine_ok+" WHERE `Id`='1'","SQL_RQ")
Le fonction ci-dessous est à utiliser uniquement en écriture
FONCTION mySQLEscapeString(textString is string)
// Fonction vient de mysql4wd
v_textstring est une chaîne = textString
IF (Position(textString, "\") > 0) THEN v_textstring = Replace(v_textstring, "\", "\\")
IF (Position(textString, Charact(0)) > 0) THEN v_textstring = Replace(v_textstring, Charact(0), "\0")
IF (Position(textString, TAB) > 0) THEN v_textstring = Replace(v_textstring, TAB, "\t")
IF (Position(textString, Charact(10)) > 0) THEN v_textstring = Replace(v_textstring, Charact(10), "\n")
IF (Position(textString, Charact(13)) > 0) THEN v_textstring = Replace(v_textstring, Charact(13), "\r")
IF (Position(textString, "'") > 0) THEN v_textstring = Replace(v_textstring, "'", "\'")
v_textstring = "'" + v_textstring + "'"
RESULT (v_textstring)
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|