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

C++Builder Discussion :

[Turbo c++] blobs MySQL


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Par défaut [Turbo c++] blobs MySQL
    Bonjour,

    J'espère ne pas m'être trompé de liste...
    Je viens d'installer Turbo C++ explorer, et pour mon développement, j'ai un petit souci : Je n'arrive pas à alimenter un champs blob de mysql à partir d'un TImage de ma fiche.
    La chaine de connexion fonctionne parfaitement (ma fiche fonctionne complètement à part cela).
    J'ai constaté (et lu) que les champs blob sont passés à odbc sous la forme de champs VarByte, et sont pris par TCPP sous la forme d'un TVarBytesField.
    Ce que je n'arrive donc pas à faire : copier mon image dans le champs.
    - J'ai essayé en recopiant l'image pixel par pixel, mais j'ai dû faire une erreur, et la proc me parait un peu lourde.
    - J'ai essayé de passer par un blobstream, mais c'est incompatible avec le TVarBytesField.
    - J'ai essayé avec un MemoryStream, comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Expédier l'image à la DB.
    	TMemoryStream *pMS = new TMemoryStream();
    	short taille = 0;
    	pMS->Write(&taille, sizeof(taille));
    	Image2->Picture->Bitmap->SaveToStream(pMS);
    	taille = pMS->Size;
    	pMS->Seek(0, soFromBeginning);
    	pMS->Write(&taille, sizeof(taille));
    	dtTablePrimaireimage->SetData(pMS->Memory, true);
    mais au moment du SetData, le système me retourne une exception 'Violation d'accès dans le module dbrtl100.bpl, lecture de l'adresse 537b2ba9'.

    Quelqu'un serait-il succeptible de m'aider à résoudre ce problème s'il vous plait?

    D'avance grand merci, ca fait plusieurs jours que je coince sur ce sujet.

    Cordialement,
    Marc

    P.S. Je précise que j'utilise les composants ADO pour l'accès aux données (TADOConnection + TADOTable).

    P.S. P.S. Je n'utilise pas SQLConnect, car il semble que la version 5 de mySQL que j'utilise n'est pas supportée (me sort des exceptions et ne me montre jamais les tables dans les listes de choix).

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Par défaut
    Re...

    Après moultes recherches, j'ai trouvé une solution de contournement, bien qu'elle ne me plaise pas. En effet, mon champs image est bien un blob si je l'ouvre par l'intermédiaire de BDE. Elle ne me plait pas, car jusqu'alors, je n'ai jamais pu faire fonctionner quelque chose entièrement avec cette interface (BCB4 jusqu'alors).

    Je laisse tout de même le sujet ouvert, car la question principale était de savoir comment placer un nombre quelconque d'octets dans un TVarBytesField. Pour l'instant cela constitue un mystère pour moi.

    Attendant donc vos propositions,

    Cordialement,
    Marc

Discussions similaires

  1. afficher une image(blob) Mysql
    Par biba158 dans le forum JDBC
    Réponses: 2
    Dernier message: 07/05/2007, 12h32
  2. Blob mysql et PHP
    Par manu51_7 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 12/12/2006, 21h39
  3. Réponses: 19
    Dernier message: 21/01/2006, 13h23
  4. c# et les blob MySQL
    Par marsufunky dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/11/2005, 10h26
  5. [D 2005]ADO et blob MySql
    Par EFCAugure dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/02/2005, 08h52

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