hallo,
habe eine komplette
Unit gebaut:
1.)
Procedure save_file_to_access (s:TObject;pfad,fname,name,Fieldname:string);
Speichert ein Icon komplett in einer
Access Datenbank
s --> TADOTable
pfad --> Pfad des Icons
fname --> Filename des Icons
name --> Bezeichner des Namens in der Accessdatenbank
Fieldname --> Bezeichner des
OLE Feldes in der Accesdatenbank
2.)
Procedure save_access_to_file(s: TObject;pfad,fname,name,Fieldname:string);
Holt ein Icon aus einer
Access datenbank und legt es als File ab.
s --> TADOTable
pfad --> Pfad des Icons
fname --> Filename des Icons
name --> Bezeichner des Namens in der Accessdatenbank
Fieldname --> Bezeichner des
OLE Feldes in der Accesdatenbank
3.)
Procedure save_access_to_Image(s,t: TObject;Fieldname:string);
Holt ein Icon aus einer
Access Datenbank und stellt es als Timage dar.
s --> TADOTable
T --> Timage in dem das Icon erscheinen soll
Fieldname --> Bezeichner des
OLE Feldes in der Accesdatenbank
Delphi-Quellcode:
unit U_blobmanage;
interface
uses
DB, Classes, ADODB, ExtCtrls;
Procedure save_file_to_access(s: TObject;pfad,fname,
name,Fieldname:
string);
Procedure save_access_to_file(s: TObject;pfad,fname,
name,Fieldname:
string);
Procedure save_access_to_Image(s,t: TObject;Fieldname:
string);
implementation
Procedure save_file_to_access(s: TObject;pfad,fname,
name,Fieldname:
string);
var blobF : TBlobField;
begin
TADOTable(s).Active:=true;
TADOTable(s).Insert;
if (Pfad<>'
')
then
if (pfad[length(pfad)]<>'
\')
then pfad:=pfad+'
\';
TADOTable(s).FieldByName(
name).AsString:=fname;
blobF := TADOTable(s).FieldByName(Fieldname)
as TBlobField;
blobf.LoadFromFile(pfad+fname);
TADOTable(s).Post;
end;
Procedure save_access_to_file(s: TObject;pfad,fname,
name,Fieldname:
string);
var
blobF : TBlobField;
begin
TADOTable(s).Active:=true;
TADOTable(s).first;
if (Pfad<>'
')
then
if (pfad[length(pfad)]<>'
\')
then pfad:=pfad+'
\';
fname:=TADOTable(s).FieldByName(
name).AsString;
blobF := TADOTable(s).FieldByName(Fieldname)
as TBlobField;
blobf.SaveToFile(pfad+fname);
end;
Procedure save_access_to_Image(s,t: TObject;Fieldname:
string);
var AStream: TStream;
begin
TADOTable(s).Active := true;
TADOTable(s).First;
AStream := TADOTable(s).CreateBlobStream(TADOTable(s).FieldByName(Fieldname), bmRead);
TImage(t).Picture.Icon.LoadFromStream(AStream);
end;
end.
Vielleicht kann jemand den Code gebrauchen.
Viele Grüsse und vielen Dank besonders an Neutral General und dataspider.