Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как записать кртинку из 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;
...


Наверх

Титульная страница Поиск, карта сайта Написать письмо