从Csharp窗口表单插入int到数据库

本文关键字:int 数据库 插入 表单 Csharp 窗口 | 更新日期: 2023-09-27 17:50:16

我现在有一个处理库存和销售的程序。

我的添加库存表单接受描述价格和销售价格并添加到数据库,

我的问题是,当将价格插入数据库时,它们被四舍五入,而忽略了小数点后的数字。

到目前为止我写的代码在这里,

    private void AddStockButton_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < QtyNumber.Value; )
        {
            try
            {
                if (ItemDescription.Text == "") // check if textbox is empty
                {
                    MessageBox.Show("You havent given the item a description"); // if the text box is empty show a message box
                    throw new Exception();
                }
                if (ItemGroupList.SelectedIndex == -1)
                {
                    MessageBox.Show("A Group must be selected");
                    throw new Exception();
                }
                if (PurchasePriceBox.Value == 0)
                {
                    MessageBox.Show("Purchase Price cannot be 0");
                    throw new Exception();
                }
                if (SalePriceBox.Value == 0)
                {
                    MessageBox.Show("Sale Price cannot be 0");
                    throw new Exception();
                }
                if (PurchasePriceBox.Value >= SalePriceBox.Value)
                {
                    MessageBox.Show("Cannot sell for less that purchase price");
                    throw new Exception();
                }
                OleDbCommand com = new OleDbCommand("INSERT INTO Stocked_Items ([Item Description], [Purchase Price], [Purchase Date], [Group], [Sale Price]) VALUES (?, ?, ?, ?, ?)", Program.DB_CONNECTION); // add the information into the database
                com.Parameters.Add(new OleDbParameter("", ItemDescription.Text));
                com.Parameters.Add(new OleDbParameter("", PurchasePriceBox.Value));
                com.Parameters.Add(new OleDbParameter("", DateTime.Today.Date));
                com.Parameters.Add(new OleDbParameter("", group[ItemGroupList.SelectedIndex].ID));
                com.Parameters.Add(new OleDbParameter("", SalePriceBox.Value));
                com.ExecuteNonQuery();
            }
            catch
            {
            }
            i++;
        }

谁能帮我插入全价包括十进制数字(1.99的例子将当前插入为2,我希望它去为1.99)

欢呼

从Csharp窗口表单插入int到数据库

我通过做两件事解决了这个问题。

一,将数据库中的数据类型从Number改为Decimal。

二,将整型数定义为小数

现在一切都如我所愿。谢谢你的评论