Access数据库,逗号“,”和点“。”的问题 从 c# windows 窗体在 Access-db

http://img.mukewang.com/62ad9dd60001a5d203880397.jpg

我在将十进制值插入我的 Access 数据库版本 (2007 - 2010) 时遇到问题。


假设我的文本框中有以下值:

txtTotalAmount.Text = 3,5

txtSalesTax.Text = 3,6

txtTotalToPay.Text = 3,7


但是,数据库值显示:

TotalAmount as 35

SalesTax as 36

TotalToPay as 37


我的数据库设置如图所示。

这是我的代码:


private void button1_Click(object sender, EventArgs e)

{

try

    {

        string connstring = ConfigurationManager.ConnectionStrings["Db"].ConnectionString;

        using (OleDbConnection conn = new OleDbConnection(connstring))

        {

            conn.Open();

            using (OleDbCommand cmd = new OleDbCommand("INSERT INTO [OrderItem](TotalAmount, SalesTax, TotalToPay) VALUES(@TotalAmount, @SalesTax, @TotalToPay)", conn))

            {

                cmd.Parameters.AddWithValue("@TotalAmount", Convert.ToDecimal(txtTotalAmount.Text));

                cmd.Parameters.AddWithValue("@SalesTax", Convert.ToDecimal(txtSalesTax.Text));

                cmd.Parameters.AddWithValue("@TotalToPay", Convert.ToDecimal(txtTotalToPay.Text));

                cmd.ExecuteNonQuery();

            }

        }

    }

    catch (Exception ex)

    {

        MessageBox.Show(ex.Message);

    }

}

我什至试过这样;


cmd.Parameters.AddWithValue("@TotalToPay", decimal.Parse(txtToPay.Text));


cmd.Parameters.AddWithValue("@SalesTax", OleDbType.Decimal).Value = Convert.ToDecimal(txtTest.Text);

但是遇到同样的问题。请帮忙。


海绵宝宝撒
浏览 238回答 2
2回答

MMMHUHU

根据 张贴的说法,我认为问题在于,.NET 期望您为 Decimal 提供点而不是逗号,这是由于如何。因此,我建议使用类型 OleDbType.VarChar 而不是 OleDbType.Decimal 作为该参数...cm.Parameters.Add("@decimalcolum", OleDbType.VarChar);cm.Parameters["@decimalcolum"].Value=decimalvalue;cm.ExecuteNonQuery();它在越南语、法语(法国)、英语(美国)地区和语言上进行了测试。我希望这个问题解决了!

慕田峪9158850

很奇怪,但我不需要使用 Convert.ToDecimal ...就像cmd.Parameters.AddWithValue("@SalesTax", txtSalesTax.Text); Without converting and working fine in database ..;)
打开App,查看更多内容
随时随地看视频慕课网APP