更新时标准表达式中的数据类型不匹配

时间:2016-09-30 19:15:13

标签: c#

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\PMEnterprise.accdb;Persist Security Info=True;Jet OLEDB:Database Password=???????");    
try
{
    string query;
    conn.Open();
    OleDbCommand cmdupdate = new OleDbCommand();
    cmdupdate.Connection = conn;
    query = "UPDATE Print_Cash_Entry_Credit SET Token_No = '" + txttoken.Text + "', Entry_Date = '" + dtpdate.Text + "', Sender_Name = '" + txtSender.Text + "', Center_Name = '" + txtcenter.Text + "', Money_Amount = '" + txtmoney.Text + "', Receiver_Name = '" + txtReceiver.Text + "', Mob_No = '" + txtmono.Text + "', PM_Amount_Com='0', Company_Amount_Com = '0' WHERE ID = '1'"; 
    cmdupdate.CommandText = query;
    cmdupdate.ExecuteNonQuery();
    MessageBox.Show("Data Updated!");
    conn.Close();
}
catch (Exception ex1)
{
    MessageBox.Show(ex1.ToString());
}

这里是表结构的截图..

我收到“条件表达式中的数据类型不匹配”错误

http://i.stack.imgur.com/Qv9g6.png

2 个答案:

答案 0 :(得分:0)

首先,我看到你正在使用' '分配给DataType =>号。

与Plutonix一样,请务必研究如何构建查询,以便正确传递数据类型。

答案 1 :(得分:0)

ID是一个数字,但您传入的是一个字符串(' ID')。

试试这个:

...... WHERE ID = 1"