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

Вниз

Непонятки с базой данных   Найти похожие ветки 

 
Pavelkq   (2009-01-10 00:10) [0]

Имеются функция и процедура. Функция читает из связки Access - ADOTable - DataSource - DBGrid картинки из разных полей.
Процедура записывает туда же.
Procedure TOKBottomDlg1.PutBMP(mini: byte; bmp:TBitmap);
var BS: TADOBlobStream;
begin
 try
    BS.Seek(82, soFromBeginning);
    BS:= TADOBlobStream.Create(TBlobField(DBGrid1.Fields[mini]),bmWrite);
    bmp.SaveToStream(BS);
 finally
 BS.Free;
 end;
end;

function TOKBottomDlg1.GetBMP(id: integer; mini: byte):TBitmap;
var BS: TADOBlobStream;
bmp :TBitmap;
begin
DBGrid1.DataSource.DataSet.MoveBy(id);
 try
    BS:= TADOBlobStream.Create(TBlobField(DBGrid1.Fields[mini]), bmRead);
    BS.Seek(82, soFromBeginning);
    bmp:=TBitmap.Create;
    bmp.LoadFromStream(BS);
    Result:=bmp;
 finally
 bmp.Free;
 BS.Free;
 end;
end;


Однако, изображения записанные процедурой (отображаются в базе Access, как двоичные данные) не возможно считать функцией. На строке
    bmp.LoadFromStream(BS);
Выводится ошибка, что это не есть валидный битмап.
Замечу, что когда заношу в базу рисунки прямо через MS ACCESS, они отображаются, как Точечный рисунок.
Где тут собака порылась?


 
Pavelkq   (2009-01-10 00:16) [1]

Упс, вопрос отпал, когда почитал справку и поэксперементировал с BS.SEEK
Правильное решение в обоих случаях поставить
BS.Seek(0, soFromBeginning);


 
Германн ©   (2009-01-10 00:52) [2]


> Упс, вопрос отпал, когда почитал справку

Вообще-то нормальные люди всегда должны сначала читать справку, а уж потом лезть с вопросом на форум. Надеюсь ты это поймёшь.


 
Игорь Шевченко ©   (2009-01-10 01:35) [3]

"Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса"



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1231518350
happynewyear
2009-01-09 19:25
2009.02.22
как корректно закрыть программу если отсоед родительский диск?


4-1205732698
vi_RUS
2008-03-17 08:44
2009.02.22
Как вместо одного клика мыши генерить шесть?


2-1231741847
abhtr
2009-01-12 09:30
2009.02.22
Как отмечать записи в TListBox


2-1231535405
Pavelkq
2009-01-10 00:10
2009.02.22
Непонятки с базой данных


15-1230166589
XentaAbsenta
2008-12-25 03:56
2009.02.22
Поиск циклических связей между таблицами в БД