데이터베이스 액세스 권한이 있으며이 필드 중 하나가 배정 밀도를 사용합니다. 일반적으로 텍스트 상자에 1.71 또는 1,71을 설정하면 데이터베이스의 필드에 1.71이 포함되어야합니다.C에서 double 형식의 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 양식, 웹 양식, MVC, WPF 등을 사용하고 있습니까? –
... '비용'은 통화/화폐 가치를 포함 할 필드입니까? 그렇다면 이중 정밀도 필드와 같은 것을 사용해서는 안됩니다. 특히 0.1을 정확하게 표현할 수 없습니다 (10 회 더 합치면 정확히 1.0이되지 않습니다).). 표준은 소수점 이하의 숫자를 사용하고, DB가 지원한다면 돈형을 사용하는 것입니다. –
십진수를 사용하는 경우 +1입니다. –