Вниз
Скачать: 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
15-1230107338
xayam
2008-12-24 11:28
2009.02.22
У нас этого много


2-1231927823
smartleds
2009-01-14 13:10
2009.02.22
Уважаемый All, есть процедура FormCreate поясните как


4-1206045437
i
2008-03-20 23:37
2009.02.22
Novell netware login name...


2-1231671849
Ruzzz
2009-01-11 14:04
2009.02.22
поддержка плагинов в программе


2-1231593826
S.S.T.
2009-01-10 16:23
2009.02.22
посчитать количество слов в строке




   Наверх