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

Delphi Discussion :

FireDac et Blob avec MariaDB


Sujet :

Delphi

  1. #1
    Invité
    Invité(e)
    Par défaut FireDac et Blob avec MariaDB
    Bonjour,

    j'ai voulu ré-utiliser un ancien code XE5 avec XE7 : incompatible. A l'époque il était développé avec FireDac que j'ai voulu conserver. En me promenant sur le web, j'ai adapté le code. Il s'agit d'enregistrer et d'afficher un Texte enrichi dans une TMSFMXRichEditor de TMS.

    Pour insérer, updater :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var
      MemStream : TMemoryStream;
    begin
      [...]
      MemStream := TMemoryStream.Create;
      with Params do begin
         TMSFMXRichEditor1.SaveToStream(MemStream);
         // MemStream.Seek(0,0); Inutile semble-t-il ?
          ParamByName('pacrBLOB').SetStream(MemStream, ftBlob, False);
      end;
      ExecSQL;
      [...]
      MemStream.Free;
      [...]
    end;
    Pour lire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
       BlobStream : TStream;
    begin
      [...]
      BlobStream := TStream.Create;
      [...]
      BlobStream := CreateBlobStream(FieldByName('crBLOB'), TBlobStreamMode.bmRead);
      TMSFMXRichEditor1.LoadFromStream(BlobStream);
      BlobStream.Free;
      [...]
    end;
    Le problème est pour l'écriture.

    Je me demandais s'il n'y avait pas d'affection plus directe... et si la méthode était valable. J'ai pris la première qui fonctionne... déjà satisfait d'en trouver une parmi toutes celles testées. Ensuite, les streams sont très "susceptibles". Dans le premier code, pour l'instant, seul le TMemoryStream semble fonctionner. Un simple TStream coince. (Erreur d'écriture dans le flux)

    D'où vient le problème ?

    La base est une MariaDB 5.5. La bibliothèque cliente est une MariaDB, mais je rencontre le même problème avec une librairie MySQL. FMX Win 32
    Merci d'avance.
    Dernière modification par Invité ; 17/07/2015 à 23h50.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Finalement, le problème n'est pas imputable à FireDac mais au TMSFMXRichEditor. Il a quand même fallu modifier l'affectation au Blob.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XE5] Problème de lecture de blob MySQL avec FireDAC
    Par Achillée dans le forum Bases de données
    Réponses: 0
    Dernier message: 17/03/2015, 13h19
  2. Réponses: 17
    Dernier message: 15/05/2006, 12h28
  3. Blob (interbase) d'une Database à l'autre
    Par TOM-Z dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/05/2003, 21h57
  4. faire un insert pour un champ blob
    Par tripper.dim dans le forum InterBase
    Réponses: 10
    Dernier message: 02/05/2003, 16h56
  5. BLOB et INSERT
    Par Thomad dans le forum Débuter
    Réponses: 3
    Dernier message: 25/04/2003, 15h32

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