【发布时间】:2014-04-26 00:17:57
【问题描述】:
string strConnect = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=record.accdb";
using (OleDbConnection con = new OleDbConnection(strConnect))
{
con.Open();
using (OleDbCommand cmd = new OleDbCommand("insert into Industry(cName,Amount,amt_type,cheqno,bankname,branchname,tDate) values(@cname,@amount,@amt_type,@chqnum,@bname,@bchname,@tdate)", con))
{
cmd.Parameters.AddWithValue("@cname", name_txt.Text);
cmd.Parameters.AddWithValue("@amount", Convert.ToDouble(amount_txt.Text));
cmd.Parameters.AddWithValue("@amt_type", amt);
cmd.Parameters.AddWithValue("@chqnum", cheque_txt.Text);
cmd.Parameters.AddWithValue("@bname", bank_txt.Text);
cmd.Parameters.AddWithValue("@bchname", branch_txt.Text);
cmd.Parameters.AddWithValue("@tdate", dateTimePicker1.Value.ToShortDateString());
cmd.ExecuteNonQuery();
}
con.Close();
我收到一条错误消息,提示 System.Data.dll 中发生“System.Data.OleDb.OleDbException”类型的未处理异常
附加信息:标准表达式中的数据类型不匹配。 这可能是什么原因和错误在 cmd.ExecuteNonQuery(); 行。
有两个单选按钮在更改事件时接受输入文本不胜感激。
【问题讨论】:
-
你需要确保你绑定了正确的type值。我怀疑
dateTimePicker1.Value.ToShortDateString()可能会返回不兼容的内容,请尝试仅使用dateTimePicker1.Value(当然它可能是其他值/字段之一)。