Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
3-1215423644
alles
2008-07-07 13:40
2009.02.22
Как работать с индексами таблицы dbf?


2-1231786870
JustForQuestion
2009-01-12 22:01
2009.02.22
GRID + ProgressBar


15-1229522731
@!!ex
2008-12-17 17:05
2009.02.22
Релиз VirtualBox с поддержкой 3D!


11-1197356063
nikfel
2007-12-11 09:54
2009.02.22
Как отловить убирание с иконки мыши в трее.


2-1231488900
И. Павел
2009-01-09 11:15
2009.02.22
Запуск программы в определенное время




   Наверх