我们遇到了OleDbDataAdapter.Update方法的问题。我们传入一个数据集,其中包含十进制类型的列(18,2)。当我传递值1.225时,存储的值是1.22 使用SQL事件探查器我也看到更新语句类似于:
exec sp_executesql N'INSERT INTO [Table] ([Id], [DecimalValue]) VALUES (@P1, @P2), 1, 1.22
所以沿着这条线的某个地方,价值被切断了。
当我尝试直接执行sql语句时:
update [Table] set [DecimalValue] = 1.229 where Id = 1
存储的值是1.23,这就是我们想要的。
有没有办法控制OleDbDataAdapter中的十进制值的舍入?