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

Bases de données Delphi Discussion :

Delphi Mysql et Richedit.


Sujet :

Bases de données Delphi

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut Delphi Mysql et Richedit.
    Salut tout le monde voila, une petite question qui à déjà était traiter, mais pour laquelle je n'ai pas trouver de solution.

    Tout d abord je voudrais sauvegardé un fichier formaté qui sort d'un Richedit dans un champ Text.

    Le problème c'est que quand j'execute il me mais une erreur dans ma requete.

    Voila ma requete:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Astream : TStringStream;
      S1,S2 :string;
    begin
    Astream := TStringStream.Create( S1);
     
    Astream.Seek( 0 , sofromBeginning );
    richeedit1.Lines.SaveToStream( Astream );
     
    Astream.Seek( 0 , sofromBeginning );
    S2 := Astream.ReadString( Astream.Size );
     
    Astream.Free;
     
     
     
    if mysql_query(form_pp.mySQLConnection,pchar('insert into Table (recette) values ('''+s2+''') where champ=''1'''))<>0 then
    begin
      errormsg:=mysql_error(form_pp.mysqlconnection);
      MessageDlg(errormsg, mtError, [mbOK], 0);
    end;
    end;

  2. #2
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    personne na la moindre idée ????

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    En fait je crois que cela ne marche pas parcequ'il y a le caractère '\' dans ma chaine.

  4. #4
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    2 remarques :
    - Le contenu d'un RichEdit n'est pas forcément du texte pur.
    - S'il contient une quote (apostrophe), la syntaxe de la requête SQL devient incorrecte

    Si le contenu à envoyer en base peut poser ce genre de problèmes, il serait peut-être préférable de passer par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TMemoField.LoadFromStream(...

  5. #5
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    mais comment tu tutilise ça dans une requete sql ?

  6. #6
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Justement, pour éviter de construire un SQL hasardeux, l'idée est de demander sun dataset dynamique, par exemple en définissant un TQuery retournant l'enregistrement, avec la propriété RequestLive à True.
    Dès lors sur ce dataset, on peut éditer la donnée BLOB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Query.edit;
    Query.FieldByName('LeBlob').LoadFromStream(monStream);
    Query.Post;
    On peut également utiliser un TTable en remplacement du TQuery en RequestLive, mais il faut penser à se positionner sur le bon enregistrement.

Discussions similaires

  1. [Delphi][Mysql] Icone pour un champ dans un TListView
    Par colfire_dev dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/01/2008, 23h39
  2. Delphi - Mysql 5.0 et commande insert
    Par zorville dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/04/2006, 17h59
  3. distribution d'application Delphi-MySQL
    Par nanobrun dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/08/2005, 08h14
  4. Delphy / Mysql connexion en réseaux
    Par jimmy2cv dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/03/2005, 13h13
  5. [mysql] Connection delphi à mysql
    Par pataluc dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/06/2004, 16h37

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