Hallo,
das ist meine IB-Table:
CREATE TABLE TEST
(
SIMFIRMA VARCHAR(3) NOT NULL,
LFDNR VARCHAR(5) NOT NULL,
BESCHREIBUNG BLOB SUB_TYPE TEXT SEGMENT SIZE 6144,
PRIMARY KEY (SIMFIRMA, LFDNR)
);
Ich möchte über IBSQL bestimte Daten auswählen und über DataSetProvider die Daten an ClientDataSet übergeben (was auch funktioniert).
In mein BLOB - BESCHREIBUNG möchte ich z.B. eine PDF- oder DOC-Datei speichern.
Das Beispiel habe ich aus einem hier gepostetem Eintrag übernommen:
procedure TForm1.Button4Click(Sender: TObject);
var blob: TBlobStream;
FName : string;
field_name : string;
begin
screen.Cursor := crHourglass;
FName := 'c:\blob.doc';
//cd1 ist ClientDataset
blob := cd1.CreateBlobStream(cd1.FieldByName('Beschreibung '), bmWrite);
try
blob.Seek(0, soFromBeginning);
fs := TFileStream.Create('c:\blob.doc', fmOpenRead or
fmShareDenyWrite);
try
blob.CopyFrom(fs, fs.Size)
finally
fs.Free
end;
finally
blob.Free
end;
screen.Cursor := 0;
end;
Leider bekomme ich die Meldung "Inkompatible Typen: 'TBlobStream' und 'TStream'" - an dieser Stelle blob := cd1.CreateBlobStream(cd1.FieldByName('Beschreibung ')
Vielen Dank für euere Hilfe
das ist meine IB-Table:
CREATE TABLE TEST
(
SIMFIRMA VARCHAR(3) NOT NULL,
LFDNR VARCHAR(5) NOT NULL,
BESCHREIBUNG BLOB SUB_TYPE TEXT SEGMENT SIZE 6144,
PRIMARY KEY (SIMFIRMA, LFDNR)
);
Ich möchte über IBSQL bestimte Daten auswählen und über DataSetProvider die Daten an ClientDataSet übergeben (was auch funktioniert).
In mein BLOB - BESCHREIBUNG möchte ich z.B. eine PDF- oder DOC-Datei speichern.
Das Beispiel habe ich aus einem hier gepostetem Eintrag übernommen:
procedure TForm1.Button4Click(Sender: TObject);
var blob: TBlobStream;
FName : string;
field_name : string;
begin
screen.Cursor := crHourglass;
FName := 'c:\blob.doc';
//cd1 ist ClientDataset
blob := cd1.CreateBlobStream(cd1.FieldByName('Beschreibung '), bmWrite);
try
blob.Seek(0, soFromBeginning);
fs := TFileStream.Create('c:\blob.doc', fmOpenRead or
fmShareDenyWrite);
try
blob.CopyFrom(fs, fs.Size)
finally
fs.Free
end;
finally
blob.Free
end;
screen.Cursor := 0;
end;
Leider bekomme ich die Meldung "Inkompatible Typen: 'TBlobStream' und 'TStream'" - an dieser Stelle blob := cd1.CreateBlobStream(cd1.FieldByName('Beschreibung ')
Vielen Dank für euere Hilfe
Comment