从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)
欢呼
我通过做两件事解决了这个问题。
一,将数据库中的数据类型从Number改为Decimal。
二,将整型数定义为小数
现在一切都如我所愿。谢谢你的评论