'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
首先,我不是程序员,我这样做是为了工作中的一个小项目(我是客户服务团队的负责人)。
我使用以下验证规则创建了一个 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