4

我正在使用 Visual Studio 2005 和 mysql 4.0,我有一个表,其中包含一个字段(十进制 16,4),用于存储发票金额和另一个表,其中包含该发票的付款(字段也是十进制 16,4 )

我读取了数据并获得了一些包含 4 列的记录(发票、金额、付款、余额)

invoice 454, Amount 8125.68 payments: 8125.68 balance : 0

付款来自 sum(payments) 报表。

相关支付记录数据为:8122.16, 0.0900, 0.0050, 1.6900, 1.7350

总数为 8125.68

我读到这样的数据:

Dim Conn As New MySqlConnection(myConnString)
Dim RS As MySqlDataReader
dim Q as string="SELECT.........." ' MYSQL STATEMENT

Dim CM As New MySqlCommand(Q, Conn)

RS = CM.ExecuteReader

While RS.Read
   RS.GetValue(RS.GetOrdinal("invoice")) 
   RS.GetValue(RS.GetOrdinal("amount")) 
   RS.GetValue(RS.GetOrdinal("payments")) 
   RS.GetValue(RS.GetOrdinal("balance")) 
End While

一切都很好,但它的价值:

RS.GetValue(RS.GetOrdinal("balance")) 

0.000000009456544,而不是0.00!这里发生了什么?

4

1 回答 1

0

我想DECIMALDOUBLE在 MySQL 4.0 的黑暗时代。因此,令人费解的结果和评论。

(回答是为了从未回答中删除。)

于 2015-04-26T22:58:51.840 回答