Конференция "Базы" » TADOQuery и BLOB-поле [D7, MSSQL]
 
  • zorik © (23.07.08 10:57) [20]

    > Ega23 ©   (23.07.08 10:51) [19]

    На практике, только что проверил, jpeg у меня не отображался. Использую TJvDBImage (JEDI) -- там все ок. Может где-то в свойствах TDBImage.Picture надо формат задавать и тогда все будет ок. Не знаю )))
  • Ega23 © (23.07.08 11:03) [21]

    > На практике, только что проверил, jpeg у меня не отображался.

    uses JPEG; ?
  • zorik © (23.07.08 11:06) [22]

    > uses JPEG; ?

    Да

    "Bitmap Image is not valid"
  • Anatoly Podgoretsky © (23.07.08 11:57) [23]

    > zorik ©   (23.07.08 09:31) [13]

    Так тут еще вопрос, как различать, что в поле, поле то не OLE
    А если судить по твоему советуж, то тебе как то все равно это

    > zorik ©   (23.07.08 10:48) [18]
  • stas © (23.07.08 12:09) [24]
    Ega23 ©   (23.07.08 11:03) [21]
    Причем здесь uses jpeg?
    нет возможности у стандартного DBImage отображать JPEG.
  • Ega23 © (23.07.08 12:12) [25]

    > нет возможности у стандартного DBImage отображать JPEG.


    Да? Я просто этой фигнёй не пользовался никогда... А для обычного - достаточно uses jpeg дописать...
  • zorik © (23.07.08 15:07) [26]
    Поиск по словах DBImage+JPEG дает много ссылок как с этим боротся -- грузить в Image или же использовать сторонние компоненты. Тут проблема в том, что надо предварительно определить что в блобе: битмап грузится в picture.bitmap, a jpeg в picture.graphic
  • stas © (23.07.08 15:24) [27]
    zorik ©   (23.07.08 15:07) [26]
    Пиши еще тип в другое поле.
  • zorik © (23.07.08 15:27) [28]

    > stas ©   (23.07.08 15:24) [27]

    Мне уже неактуально это.

    Насорили здесь, а автора вопроса уже давно нет
  • Ega23 © (23.07.08 15:30) [29]

    > Пиши еще тип в другое поле.


    Зачем???
    JPEG должен начинаться с $FFD8, bmp - $424D (в bmp, по-моему, в сигнатуре ещё 3-й байт участвует). Стрим у тебя уже есть. Читаешь 2 байта и смотрищь, чему они равны.
  • piople © (24.07.08 07:38) [30]
    1. Через таблицу:
    (table1.fieldbyname('ddd') as TBlobField).loadfromfile('dddss');



    Для некоторых баз данных через BDE так можно загрузить не более 64k

    2. через параметры в квере...
    ADOquery1.sql.text:='Insert into myTable (a) Values (:b)';
    ADOQuery1.parameters.parseSQL(ADOquery1.sql.text, true);
    ADOQuery1.parameters.parambyname('b').LoadFromFile('MyFile');
    ADOQuery1.execsql;

  • Ega23 © (24.07.08 10:00) [31]

    > Для некоторых баз данных через BDE так можно загрузить не
    > более 64k


    В настройках алиаса параметр BLOB Size для лохов придуман?
  • piople © (25.07.08 05:24) [32]
    Ega23 ©, хз, тебе виднее...
  • Нат (29.07.08 18:51) [33]
    Стандартный DBImage не умеет работать с jpeg
    Универсальное свойство - Picture
    Используйте в Image.Picture.LoadFromFile(), Image.Picture.Assign(),
    Также LoadFromStream(), CreateBlobStream, SaveToFile

    Запрос на сохранение
    insert into MyTable ( MyPictureField) values ( :ParamPict);

    на удаление
    Update MyTable set MyPictureField = null where ID= КлючНужнойЗаписи;
  • Нат (30.07.08 00:25) [34]
 
Конференция "Базы" » TADOQuery и BLOB-поле [D7, MSSQL]
Есть новые Нет новых   [134473   +28][b:0][p:0.001]