Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ADO Blobfield Was mach ich falsch? (https://www.delphipraxis.net/89861-ado-blobfield-mach-ich-falsch.html)

WS1976 7. Apr 2007 10:28


ADO Blobfield Was mach ich falsch?
 
Hallo,
hab ein Stück Code geschrieben um Icons in eine Acces 2003 Datenbank zu schreiben. (ADOconnection, ADOtable. mytable ist ADOtable)
Sieht alles OK aus kommt aber nie in Access an, bzw wenn ich auslesen will, wird immer das Ergebnis 0 Bytes zurückgegeben.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  blobF : TBlobField;
  bs : TStream;
  f:file of Timg;
  numread,numwritten:integer;
  data:array[1..1000] of char;
begin
   assignfile(f,'1315.ico');
   reset(f);
     BlockRead(f, data, filesize(f), NumRead);
   closefile(f);
   mytable.Active:=true;
   myTable.Insert;
   myTable.FieldByName('name').AsString:='1315_a.ico';
   blobF := myTable.FieldByName('Picture') as TBlobField;
   bs := myTable.CreateBlobStream(blobF, bmWrite);
   numwritten:=bs.Write(data,NumRead);
   myTable.Post;
end;
kann mir irgendjemand auf die Sprünge helfen?
Danke im Vorraus

WS1976 7. Apr 2007 10:52

Re: ADO Blobfield Was mach ich falsch?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Problem gelöst,

zum schreiben benutze ich diese procedure:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  blobF : TBlobField;
begin
   mytable.Active:=true;
   myTable.Insert;
   myTable.FieldByName('name').AsString:='1315_a.ico';
   blobF := myTable.FieldByName('Picture') as TBlobField;
   blobf.LoadFromFile('1315.ico');
   myTable.Post;
end;
zum lesen benutze ich diese procedure:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  blobF : TBlobField;
begin
   mytable.Active:=true;
   myTable.first;
   fname:=myTable.FieldByName('name').AsString;
   blobF := mytable.FieldByName('Picture') as TBlobField;
   blobf.SaveToFile(fname);
end;
Das ist naturlich nur ein Beispiel mit festem Dateinamen für das Icon
und es wird auch nur der erste Record ausgelesen.
Das Icon wird von der Platte geholt und unter anderem Dateinamen, auf die Platte gespeichert.

Ich hab mich leider von einem Beitrag (Eines Typs mit fundiertem Halbwissen in die Irre führen lasse.)

Ich werde mich demnächst an einem DB Tutorial (für Dummies wie mich) versuchen.

Viele Grüsse
Vielen Dank

DP-Maintenance 7. Apr 2007 19:30

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Programmieren allgemein" nach "Datenbanken" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 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