Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datei in blob feld geht nur einmal (https://www.delphipraxis.net/90722-datei-blob-feld-geht-nur-einmal.html)

Fridolin 22. Apr 2007 19:51

Datenbank: mysql • Version: 5.2 • Zugriff über: mydac

Datei in blob feld geht nur einmal
 
Hallo zusammen,

ich versuche mich grade am Umgang mit Blob-streams.

Mit folgendem Code kann ich per Button-Click über eine Opendialog eine Datei auswählen und diese
hochladen. Beim ersten mal gehts und beim zweiten mal kommt eine Fehlermeldung(In Projekt1.exe ist eine Exception der Klasse EAccesViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00404B28 in Modul 'Projekt1.exe.Lesen von Adresse 00000080' aufgetreten.).

Kann mir vielleicht jemand sagen, was ich falsch mache?

Delphi-Quellcode:
procedure TForm9.Button2Click(Sender: TObject);
var actualfile: string;
    fstream: TMemoryStream;


begin
    opendialog1.FileName:='';
      if opendialog1.Execute then
        begin
          actualfile:=opendialog1.FileName;
        end;

    fstream := tmemorystream.Create;


    try
      fstream.LoadFromFile(actualfile);
      fstream.Position := 0;
    myquery1.SQL.Text:=('insert into blob1 (b_id, bloby) '+ #10 +'values (null, :bloby)');
    myquery1.parambyname('bloby').loadfromstream(fstream, ftBlob);
    myquery1.Execute;

    finally
      myquery1.Free;
      fstream.free;
      opendialog1.Free;
    end;
MfG

Fridolin

mkinzler 22. Apr 2007 20:02

Re: Datei in blob feld geht nur einmal
 
Laß mal das ID beim Einfügen weg.

Fridolin 22. Apr 2007 20:05

Re: Datei in blob feld geht nur einmal
 
ich hab jetzt erstmal das myquery1.free; weg gelassen und jetzt gehts...

Aber trotzdem danke :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz