Image et MySql

  1. 10 months ago

    Jean L

    19 Jul 2017 Sud Paris

    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 idée pour me sortir de l'erreur
    Je vous remercie

  2. Jean L

    19 Jul 2017 Sud Paris

    Mon cher Jean Luc, voici la réponse

    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

  3. Jean-Yves P

    19 Jul 2017 Pre-Release Testers, Xojo Pro Europe (France, Besancon)

    je pense que la version originale aurait marché sans les endofline
    xojo ne sait envoyer que des requêtes d'une seule ligne, sinon il faut faire une transavction
    et je ne suis pas sur que ca marche pour définir une table.

  4. Jean L

    19 Jul 2017 Sud Paris

    Merci pour ta reponse
    Effectivement le endofline pose probleme car et est transformé au départ par XOJO (je ne sais pas dans quelle condition"
    Il y avait aussi un atre problème. 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

or Sign Up to reply!