Bonjour
Je souhaite enregistrer une image dans un enregistrement d’une bdd MySql
Voici la table:
id
int(11) unsigned NOT NULL AUTO_INCREMENT,
contenu
longblob,
type
varchar(10) DEFAULT NULL,
nom
varchar(100) DEFAULT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
MySql me retourne l’erreur :"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "
On peut traduire par: “Demerde toi avec ton erreur”
Avez vous une ide pour me sortir de l’erreur
Je vous remercie
Mon cher Jean Luc, voici la rponse
Tu utilisais du code sql:
rq = rq + "INSERT INTO " + “images” + EndOfLine
rq = rq + " ( " + " type
, nom
, contenu
" + " ) "+ EndOfLine
rq = rq + " VALUES ( " + EndOfLine
rq = rq + chr(34) + “jpg” + chr(34) + ", "
rq = rq + chr(34) + valUrl + chr(34) + ", "
rq = rq + chr(34) + data + chr(34)
rq = rq + EndOfLine + " ) "
…
Il te fallait utiliser des routines xojo que tu n’aimes pas:
Dim row As New DatabaseRecord
row.Column(“type”) = “type”
row.Column(“nom”) = “nom”
row.Column(“contenu”) = data
laConnexionBdd.InsertRecord(“images”, row)
If laConnexionBdd.Error Then
er = laConnexionBdd.ErrorMessage
End If
Voila, a marche , bonne continuation
Jean Luc
je pense que la version originale aurait march sans les endofline
xojo ne sait envoyer que des requtes d’une seule ligne, sinon il faut faire une transavction
et je ne suis pas sur que ca marche pour dfinir une table.
Merci pour ta reponse
Effectivement le endofline pose probleme car et est transform au dpart par XOJO (je ne sais pas dans quelle condition"
Il y avait aussi un atre problme. l’image contenu des virgules.
J’ai une solution qui marche et qui est rapide mais je prefere en general faire du sql aux routines xojo