![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как записать кртинку из bmp-файла в таблицу Access? [D5, MS Access]
abell © (2004-12-10 10:39:00)Есть таблица в базе access, поле 'Photo' определено как OLE.
Пытаюсь сделать следующее:
var
stFile: TFileStream;
stData: TBlobStream;
begin
ADODataSet1.Edit;
stFile:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
stData:=TBlobStream.Create(ADODataSet1.FieldByName('Photo') as TBlobField, bmReadWrite); // Ошибка здесь.
stData.CopyFrom(stFile,stFile.Size);
ADODataSet1.Post;
stData.Free;
stFile.Free;
end;
и вылетает 'Invalid class typecast'.
Что не так? Делаю то же самое для dBase 5 - все отлично, только поле типа Binary. В access такого типа нет, но описание OLE вроде бы подходит к этому типу. Как быть? От access базы отказаться не получится, она уже в работе.
-=SS=- (2004-12-10 11:05:00) [1]
ADODataSet1.Insert;
TBlobField(ADODataSet1.FieldByName('Picture')).LoadFromFile(OpenDialog1.FileName);
ADODataSet1.Post;
enjoy
Соловьев (2004-12-10 10:44:00) [2]Читаем как всегда хелп и не придумываем себе проблем на голову:
...
if not (Query.State in [dsInsert, dsEdit]) then Query1.Insert;
Query1Images.LoadFromFile('c:\Windows\Waves.bmp');
Query1.Post;
...