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

本文关键字:数据类型 不匹配 表达式 标准 更新 | 更新日期: 2023-09-27 18:09:48

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());
}

这里是表格结构的截图。

我得到"数据类型不匹配的标准表达式"错误

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

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

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

试试这个:

…WHERE ID = 1"

首先,我看到你使用' '来分配一个DataType => Number。

就像Plutonix说的,一定要研究如何构建你的查询,以便你正确地传递数据类型。