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

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

Invalid BLOB handle in record buffer [D5, MSSQL]


Ega23 ©   (2005-06-02 13:56:00) 

На строке кода

TBLOBField(DataSource.DataSet.FieldByName(DataField)).SaveToStream(ms);

получаю сабжевый exception. Поле - not IsNull, это проверено. Тип поля в базе - image. В DBGrid'е поле отображается как "BLOB".
В Query Analyzer'е вижу такую строку:
0x01000100000020F212000E0000000800780000001C00000000000000C0AE1C0AA0AE1C0A98A91C0A80F3120070F94200E4CF1C0AA57D4200847D42 00997E4200E4CF1C0ADCF742009CF312009CF31200E4CF1C0A9F2243009CF31200E4CF1C0AE4CF1C0AF80ED6043E060D0035010000EB0E011034060C 0000000000D8F312009CF212008764E177B906FFFF3E060D0035010000

В чём может быть дело???
Уже 2 часа голову ломаю. Посмотрите, может что проглядел?


procedure TGfxDBConnector.AddGfxObject;
var
ms:TMemoryStream;
GfxTag:TGfxTagStruct;
GfxPoly:TGFXPolyObject;
begin
ms:=TMemoryStream.Create;
try
 if TBLOBField(DataSource.DataSet.FieldByName(DataField)).IsNull then Exit;

 TBLOBField(DataSource.DataSet.FieldByName(DataField)).SaveToStream(ms);
 ms.Position:=0;
 ms.ReadBuffer(GfxTag, SizeOf(TGfxTagStruct));

 ms.Position:=GfxTag.Offset;
 if GfxTag.Tag<>GFXTAG_TYPE then Exit;
 Case GfxTag.wParam of
  POLY_OBJECT          : begin
                          GfxPoly:=TGFXPolyObject.Create;
                          GfxPoly.LoadFromStream(ms);
                          GfxPoly.UID:=DataSource.DataSet.FieldByName(IDField).AsInteger;
                          GFXDrawer.AddObject(GfxPoly);
                         end;
  RASTER_OBJECT        : begin
                          //
                         end;

 end;

finally
 ms.Free;
end;

end;


Ega23   (2005-06-02 15:47:00) [1]

Всё, вопрос снят.
Там - мама не горюй получается....


Наверх

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