У меня есть TClientDataSet с несколькими записями, и я хочу загрузить все записи, но загружать поле большого двоичного объекта по требованию, по одной за раз.
Я заметил, что при вызове FetchBlobs дважды происходит выборка двоичного объекта, а также при проверке свойства поля IsNull всегда возвращается значение False.
Таким образом, единственное решение, которое я нашел до сих пор, - это доступ к свойству, например Value или BlobSize, и, если большой двоичный объект не был получен, вызывается исключение EDBClient с сообщением "Blob не был получен", поэтому, если это исключение было поднято, я вызвать FetchBlobs.
Есть ли лучший способ сделать это?
try
cdsIMG.BlobSize;
except
on E: EDBClient do
cds.FetchBlobs;
end;