У меня проблемы с вставкой десятичных значений в мою версию базы данных Access (2007 - 2010).
Скажем, у меня в текстовых полях следующие значения:
txtTotalAmount.Text = 3,5
txtSalesTax.Text = 3,6
txtTotalToPay.Text = 3,7
Однако значения базы данных показывают:
TotalAmount as 35
SalesTax как 36
TotalToPay как 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);
Но получается та же проблема.Пожалуйста помоги.