MS Jet中奇怪的问题?
Kanas.net 1.3在紧张的测试中。为了保证数据库支持的中立性,采用SQL标准实现最差的MS Jet(MS Access 2000格式载体,使用ADO.NET的OleDb引擎)。以往这种数据库配置用得比较少,对其特异性严重掌握不够,导致排错效率不高。
其中有一个TestCase出现的bug狂找了一个小时才发现,真是哭笑不得。
大家看看以下两个SQL语句,相同的指令,不同的结果:
命令文本:update debtors set debit=@P3,searches=@P4 where id=@P2
参数表:
@P2=16
@P3=3650
@P4=520
(所影响的行数为 0 行)
命令文本:update debtors set debit=@P1,searches=@P2 where id=16
参数表:
@P1=3650
@P2=520
(所影响的行数为 1 行)
而在Sql Server中则不会出现类似这样的问题。