cn = new SqlConnection(DRIVER); DataSet ds = new DataSet(); string sql = "insert product_desProductTime (fNo,orderQty,orderCoefficient,samtotal)values('" + txtfNo.Text + "',"+txtOrderQty.Text+","+double.Parse(txtOrderCoefficient.Text)+","+txtSamTotal.Text+")"; SqlCommand cmd = new SqlCommand(sql,cn); cn.Open(); int count=cmd.ExecuteNonQuery(); cn.Close(); bool result = count > 0 ? true : false; return result;
就是上面的代码,请问怎么默认插到数据库表中的数据都成整数了?
比方说我的插入数据('aaa',5,0.8,16.8)
但是插入进去之后就成了('aaa',5,1,17)
请问这是什么原因?该怎么解决
大家不要纠结于拼字符串,现在问题是怎么解决系统插入的时候默认对小数“四舍五入”的问题,多谢多谢
samTotal你指定的decimal小数位都给的0吧!如果保留2位至少指定一下2.给的0就给你舍掉了!
非常感谢,你是对的
看你数据库里面字段是什么就知道了,int类型和bigint类型那插入的是不准确的
samTotal是decimal型的,orderCoefficient是numeric的
好长时间没写C了。
http://blog.sina.com.cn/s/blog_69b8c2410100scmp.html 看看这个能否帮到