如何将c#中的十进制数保存到sql

时间:2013-10-30 00:51:51

标签: c# sql sql-server decimal

当我尝试将c#中的十进制数保存到sql数据库时,我遇到了问题。首先,我有我转换为十进制的字符串,当我尝试将该十进制保存到sql数据库时出错了。例如,如果我尝试保存3.24,在数据库中它显示为324.00这是代码的一部分,请帮助...我已经尝试了从十进制到数字的changig类型而不是convert.ToDecima decimal.Parse

        decimal cijena_uzine = Convert.ToDecimal(textBox1.Text, CultureInfo.InvariantCulture.NumberFormat);

        try
        {
            spremi_cijenu_obroka.Open();
            cmd = new SqlCommand("Update Vrsta_Obroka set cijena="+ cijena_uzine + " where Šifra_Obroka=1 ;", spremi_cijenu_obroka);

2 个答案:

答案 0 :(得分:1)

我只是猜测,但你可能输入数字为3,24,逗号为小数分隔符(与欧洲大多数国家一样)。

当您使用324时,这会转换为CultureInfo.InvariantCulture.NumberFormat

将您的代码更改为以下以使用您的文化:

decimal cijena_uzine = Convert.ToDecimal(textBox1.Text, System.Globalization.CultureInfo.CurrentCulture);

答案 1 :(得分:0)

我将变量保留为字符串,它以某种方式工作......

string cijena_uzine = textBox1.Text;             
        try
        {
            spremi_cijenu_obroka.Open();
            cmd = new SqlCommand("Update Vrsta_Obroka set cijena=" +cijena_uzine + " where Šifra_Obroka=1 ;", spremi_cijenu_obroka);