我有一个文本框,允许用户输入最多6个小数位。这是有效的,但是,在保存(下面的代码)时,该值会向上舍入到4个小数位,而这就是它的保存方式。
sqlupdate = "UPDATE [Products] SET [Product_Description] = @desc , " & _
"[Unit_Type] = @ut , " & _
"[RegularPrice] = @pr, " & _
"[Product_Category_ID] = @catid, " & _
"[CostPrice] = @costpc, " & _
"[defVol] = @defvol, [size] = @size " & _
"WHERE [Base_Code] = @basecode"
cmd = New OleDbCommand(sqlupdate, con, trans)
Dim decSize As Decimal = Convert.ToDecimal(txt_size.Text)
cmd.Parameters.AddWithValue("@catid", categoryID)
cmd.Parameters.AddWithValue("@costpc", costPc)
cmd.Parameters.AddWithValue("@defvol", volume)
cmd.Parameters.Add("@size", OleDbType.Decimal).Value = decSize
cmd.Parameters.AddWithValue("@basecode", txtCode.Text)
我甚至尝试将数据库字段设置为6位小数,但它没有用。我正在使用Access 1997。
此外,数据库已经处于实时环境中,因此如果需要更改数据库,则需要以编程方式完成,而不是进入数据库。
这些是我能够在数据库中设置它的字段类型。
答案 0 :(得分:2)
该字段的数据类型似乎是 Currency ,因为它是JET数据库V3.5(由Access 97使用)的唯一数据类型,它将舍入到四位小数。 / p>
仔细检查表格的字段类型。