首先,我不是程序员,我这样做是为了工作中的一个小项目(我是客户服务团队负责人)。
我使用以下验证规则创建了一个Access数据库:Like" 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之类的内容时,我会得到一个Error Message,因为验证规则而无法插入数据。
我尝试使用不同的通配符(*)但它仍然无法正常工作。我有什么明显的遗失吗?
非常感谢您的帮助,祝您有个美好的一天!
答案 0 :(得分:1)
您已经遇到了Access OLEDB提供程序的限制。如果切换到使用System.Data.Odbc
和Access ODBC驱动程序,则代码应按预期工作。
答案 1 :(得分:0)
很抱歉,我无法给你发表评论。您的桌子上有一个验证规则。这意味着问题不是您的查询,而是在您的表架构师中。例如,您尝试插入的数据与字段的数据类型不匹配 见this for more info