6月 272014
 

在Delphi7中,使用TAdoQuery读取sybase中的数据,发现在读取numeric字段时,本来存储的是负数值,但tadoquery读出后为正数。 select workdays from workinfo 后来gg了一下,发现这是delphi的一个bug,用Delphi 2010写了一小工具,发现读取不会出现负数为正的情况,说明在后来的delphi版本中修正了此错误。跟踪代码时发现在adodb.pas中的GetFieldData函数中的子函数VarToBuffer中,delphi 2010和delphi 7有所区别,具体代码片断如下: ftAutoInc, ftInteger: In

阅读全文