我有一個數據庫訪問,並且這個字段之一是雙精度。 通常,如果我在文本框1.71或1,71中設置,數據庫中的字段應該包含1.71。如何轉換在c中的sql類型雙精度#
但是,如果我執行查詢acces'field的值是171 !!。
public const string QUERY =
@"UPDATE TBLART
SET TBLART.COST = @cost
WHERE TBLART.CODE= '1'";
var param = new DynamicParameters();
var cost = totalCost.Replace(',', '.'); //totalCost is a textbox
param.Add("cost", Double.Parse(cost), DbType.Double);
gsmconn.Execute(QUERY, param);
我錯了什麼?謝謝。
您正在使用Windows窗體,Web窗體,MVC,WPF,...? – 2013-03-26 18:29:49
...「Cost」是一個包含貨幣/貨幣價值的字段嗎?如果是這樣,你不應該使用類似雙精度字段的東西 - 除此之外,它們不能準確地表示'0.1'(如果將它加在一起10次,通常不會得到'1.0',通常)。標準是至少使用十進制/數字,如果數據庫支持,則使用金錢類型。 – 2013-03-26 18:54:40
使用十進制+1。 – 2013-03-26 19:06:38