Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.02;
Скачать: CL | DM;

Вниз

Как записать Blob в файл   Найти похожие ветки 

 
inwin   (2003-09-11 14:43) [0]

В таблице Table есть поле типа Blob. Как его содержимое записать в произвольный файл, т.е. типа Table.FieldByName("Blob").SaveToFile("...")?


 
Reindeer Moss Eater ©   (2003-09-11 14:46) [1]

TBlobStream и его методы


 
inwin   (2003-09-11 14:51) [2]

Делаю:

var
qry: TQuery;
begin
qry:=TQuery.Create(nil);
....
with qry do
begin
SQL.Add("SELECT BlobField FROM Table WHERE ...");
Open;
bs:=TBlobStream.Create(FieldByName("Blob"), bmRead); -
ругается "incompatible types TBlobField and TField". Делаем
bs:=TBlobStream.Create(TBlobField(FieldByName("Blob")), bmRead); - ошибка при выполнении


 
Reindeer Moss Eater ©   (2003-09-11 14:57) [3]

bs:=TBlobStream.Create(FieldByName("Blob"), bmRead); -
ругается "incompatible types TBlobField and TField".


1.А приведение типов для кого существует?

2.TDataSet.CreateBlobField


 
inwin   (2003-09-11 15:02) [4]

> Reindeer Moss Eater
А можно пример? Я еще не шибко все это умею...


 
Reindeer Moss Eater ©   (2003-09-11 15:03) [5]

TBlobField(FieldByName("Blob"))


 
Reindeer Moss Eater ©   (2003-09-11 15:05) [6]

CreateBlobStream(FieldByName("Blob"), bmRead)


 
-= Demon =-   (2003-09-11 15:07) [7]

var
ss: TStream;
begin
ss:=qry.CreateBlobStream(FieldByName("BlobField"), bmReadWrite);
SetLength(Buf, ss.Size + 1);
ss.ReadBuffer(Buf[0], ss.Size);
with FieldByName("BlobField") do
begin
{$I-}
AssignFile(f, FileName);
Rewrite(f);
BlockWrite(f, Buf[0], High(Buf) + 1);
CloseFile(f);
{$I+}
end;
end;


 
-= Demon =-   (2003-09-11 15:08) [8]

with FieldByName("BlobField") do
не нужно, забыл убрать :)



Страницы: 1 вся ветка

Текущий архив: 2003.10.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-3884
Patrick
2003-09-17 14:55
2003.10.02
Запись в реестр посредством API.


1-3958
Sour
2003-09-20 09:30
2003.10.02
Тащи-Кидай из DBGrid


3-3805
rh
2003-09-10 14:36
2003.10.02
Ошибка при открытии mdb-файла


1-3842
APTEMKA
2003-09-19 02:21
2003.10.02
Как смениь файл в медиа плеере


1-3942
student
2003-09-21 13:25
2003.10.02
дефрагментация оперативной памяти