AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datei in Mysql Datenbank speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Datei in Mysql Datenbank speichern

Ein Thema von Bladefire · begonnen am 17. Jul 2014 · letzter Beitrag vom 19. Jul 2014
Antwort Antwort
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#1

Datei in Mysql Datenbank speichern

  Alt 17. Jul 2014, 00:57
Datenbank: mysql • Version: 5.6 • Zugriff über: Firedac
Hallo,

ich suche eine möglichkeit wie ich eine Datei in eine mysql datenbank per firedac speichern kann.

Wie kann man dies verwirklichen?

Lg Simon
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Datei in Mysql Datenbank speichern

  Alt 17. Jul 2014, 01:22
  1. Hast du ein Blobfeld erstellt?
  2. Wenn ja, hast du ein Query, das mit der Tabelle verbunden ist, in der sich das Blobfeld befindet?
  3. Befindet sich das Query im Edit-Modus?
  4. Wenn ja, kannst du mit folgender Function arbeiten:
Delphi-Quellcode:
Function TDatMod.FileToBlob(Feld: TField; Datei: String): Boolean;
Var
   S : TStream;
   FileS : TFileStream;

begin
   Result := False;
   If Not FileExists(Datei) Then Exit;

   S := Feld.DataSet.CreateBlobStream(Feld, bmReadWrite);

   Try
     FileS := TFileStream.Create(Datei, fmOpenRead);
     S.CopyFrom(FileS, FileS.Size);
     Result := True;

   Finally
     FileS.Free;
     S.Free;
   End;
end;
Nicht vergessen, danach Query.Post anzugeben, sonst wird die Datei zwar in das Blobfeld hineingeschrieben, aber nicht gespeichert
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#3

AW: Datei in Mysql Datenbank speichern

  Alt 18. Jul 2014, 02:06
Danke für deine Antwort.

1. Ein Blobfeld ist in der mysql datenbank vorhanden.
2. der query ist mit der tabelle verbunden
3. wie bringe ich den query in den edit modus? ("fdquery1.edit;"?)

Ich habe bisher größteils nur mit fdconnection1.execsql gearbeitet da ich noch nicht viel abfragen musste.

Wie müsste ich vorgehen wenn das programm die id 23 in der Datenbank hat und das blob feld den namen "blob-feld".

Du würdest mir damit einen rießigen gefallen machen.

lg Simon
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Datei in Mysql Datenbank speichern

  Alt 18. Jul 2014, 02:36
Ich kann mit deiner Schilderung nicht viel anfangen. Dein Programm hat die Id 23 in der Datenbank? Meine Programme haben niemals eine Id in irgend einer Datenbank ... aber die Tabellen in meinen Datenbanken verfügen größtenteils über Id-Nummern, gewöhnlich fortlaufend und via AutoInc erstellt.

Schau dir doch einfach mal die Methoden deiner Query-Komponente in der Online-Hilfe an: Edit, Append, Post und Cancel – all das, was auch der DB-Navigator macht. Ich will dir hier nicht dein Programm schreiben oder dir Sachen erklären, die in gängigen Tutorials schon bis zum Abwinken erklärt wurden ... diese Arbeit ist dir vorbehalten. Und zudem ruft mein Bett ganz laut nach mir ...

Wenn du dich mit Datenbanken noch nicht so gut auskennst, empfehle ich dir die Tutorials des Delphi-Treffs.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Datei in Mysql Datenbank speichern

  Alt 18. Jul 2014, 06:37
Zitat:
Dein Programm hat die Id 23 in der Datenbank?
Er scheint Programme in der Datenbank abgelegt zu haben.

Zitat:
1. Ein Blobfeld ist in der mysql datenbank vorhanden.
2. der query ist mit der tabelle verbunden
Zitat:
3. wie bringe ich den query in den edit modus? ("fdquery1.edit;"?)
Ja, wenn die entsprechenden Abfragen hinterlegt sind.

Was willst Du genau tun? Einen Blob aus der Datenbank laden? (Dann wäre DataSet.Edit ja falsch) Oder einen vorhanden Datensatz ändern?
Markus Kinzler
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: Datei in Mysql Datenbank speichern

  Alt 18. Jul 2014, 16:42
Was willst Du genau tun? Einen Blob aus der Datenbank laden? (Dann wäre DataSet.Edit ja falsch) Oder einen vorhanden Datensatz ändern?
Hat er doch bereits beschrieben:
Zitat:
ich suche eine möglichkeit wie ich eine Datei in eine mysql datenbank per firedac speichern kann.
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#7

AW: Datei in Mysql Datenbank speichern

  Alt 19. Jul 2014, 02:28
Ich habe mich wohl etwas falsch ausgedrückt, nvm.

ich habs jetzt mit deiner funktion gelöst.

Danke

Lg Simon
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz