До обновления до Delphi 2010 мы смогли извлечь данные, хранящиеся в строковом поле базы данных доступа, которое на самом деле содержит массив байтов.
Это было достигнуто с помощью чего-то вроде:
GetMem(buff, 66);
try
if Table.FieldByName('BytesInStrField').GetData(buff, True) then //True false ignored anyway
begin
Move(Buff^, X, 65);
end;
finally
//
end;
Так как мы обновили, даже буфер, кажется, перестает читать при первом экземпляре # 0 # 0 (терминатор строки)
Проблема в том, что эти данные нам больше не доступны.Я хотел бы упомянуть, что это не я сам решил поместить массив байтов в поле строки Microsoft Access.
Кто-нибудь знает, как я могу прочитать весь файл без усечения, я стараюсь изо всех силизбегайте написания моего прямого двоичного чтения всей базы данных.
Поскольку это Delphi Доступ к Microsoft Access, я использую компоненты TADO.
Спасибо за чтение.