使用访问数据类型自动编号的条件表达式c#中的数据类型不匹配

Posted

技术标签:

【中文标题】使用访问数据类型自动编号的条件表达式c#中的数据类型不匹配【英文标题】:Data type mismatch in criteria expression c# using access datatype auto number 【发布时间】:2017-02-09 15:15:46 【问题描述】:

我正在使用 Access,并且我的字段 userId 的数据类型是自动编号。 我收到数据类型不匹配错误,我不知道为什么。这是我的代码。

try 
     
        con.Open(); 
        OleDbCommand cmd = new OleDbCommand(); 
        cmd.Connection = con; 
        cmd.CommandText = "delete from userdetail where userId='" + textBox1.Text + "'"; 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
     
catch (Exception ex) 
     
        MessageBox.Show("error" + ex); 
    

【问题讨论】:

这是总是使用 SQL 参数的原因之一 现在我应该怎么做,因为我正在采用这种方法 【参考方案1】:

将id作为数字传递:

cmd.CommandText = "delete from userdetail where userId = " + textBox1.Text + ""; 

【讨论】:

请告诉我我听不懂你说什么 数字不能用单引号括起来。

以上是关于使用访问数据类型自动编号的条件表达式c#中的数据类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章

错误:条件表达式中的数据类型不匹配

条件表达式中的 C# 数据类型不匹配

使用通过 ODBC 访问的条件表达式中的数据类型不匹配

条件表达式访问中的查询数据类型不匹配

使用 Decimal 参数的数据类型不匹配 - OleDb、C#、Access

OleDbException:条件表达式中的数据类型不匹配