在升级到Delphi 2010之前,我们能够提取存储在实际包含字节数组的字符串的访问数据库字段中的数据。访问Unicode版本的Delphi中的记录的真正缓冲区 - ADO
这与类似实现:
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字符串字段中放置一个Bytes数组。
有没有人有任何想法如何我可以阅读整个领域没有截断,我努力避免编写我自己的整个数据库的直接二进制读取。
因为这是Delphi访问Microsoft Access我正在使用TADO组件。
感谢您的阅读。
什么是您正在访问的字段的SQL列类型? VARCHAR? –
@Warren P - 是的字段类型是VarChar这是明显的疯狂,我仍然试图解决为什么有人认为这是明智的。 – Reallyethical