'Like' 字段验证规则中的运算符不适用于 OLEDB 插入

'Like' operator in field validation rule not working for OLEDB inserts

首先,我不是程序员,我这样做是为了工作中的一个小项目(我是客户服务团队的负责人)。

我使用以下验证规则创建了一个 Access 数据库:喜欢 "T######" 为了只接受我们的员工 ID(例如 T123456) 它在 Access 中工作正常。

但是,在 C# 中,我的提交按钮上有以下代码:

private void btnSubmit_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            connection.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = connection;
            command.CommandText = "insert into Employees (ID, LastName, FirstName) values ('" + txtTID.Text + "','" + txtLastName.Text + "','" + txtFirstName.Text + "')";

            command.ExecuteNonQuery();
            connection.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("" + ex);
            connection.Close();
        }

    }

每当我输入类似 example above, I get an Error Message 的内容时,都说由于验证规则无法插入数据。

我尝试使用不同的通配符 (*),但仍然无效。有什么明显的我在这里遗漏的吗?

非常感谢您的帮助,祝您今天愉快!

您遇到了 Access OLEDB 提供程序的限制。如果您切换到使用 System.Data.Odbc 和 Access ODBC 驱动程序,您的代码应该会按预期工作。

抱歉,我无法给您写评论。您的 table 上有一个验证规则。这意味着问题不在于您的查询,而在于您的 table 架构师。例如,您尝试插入的数据可能与您的字段的数据类型不匹配 见 this for more info