繁体   English   中英

从C#将十进制数存储到数据库中

[英]Store decimal number into database from c#

我试图将十进制数字存储到SQL Server数据库中,列数据类型为numeric(10,2)

使用参数化过程将数据从文本框传递到数据库,如下所示

cmd.Parameters.Add(new SqlParameter("@PP", SqlDbType.Decimal)).Value = decimal.Parse(TB_PP.Text);

我的问题是我可以直接在数据库表中输入十进制数,当从数据库读取它到文本框时,我得到一个十进制数

但是,当通过文本框存储它时,它会保存一个整数,所以我应该使用什么代替SqlDbType.Decimal

尝试使用双精度而不是十进制:

double.Parse(TB_PP.Text);

尝试通过以下方式定义参数:

cmd.Parameters.Add(new SqlParameter("@PP", SqlDbType.Decimal) {
    Precision = 10, 
    Scale = 2 
 });

我的经验是,当SQL数据类型为decimal(10,2)而不是numeric ,请尝试一下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM