2014-08-27 84 views
0

这里是我的数据库结构自动编号列插入MS Access数据库

我的表名员工

First Column is "f_name" datatype "Short Text" 
Second  is "l_name" datatype "Short Text" 
Third  is "id"  datatype "AutoNumber" Primary Key 

C#代码:

OleDbCommand com1 = new OleDbCommand("insert into employee values(@f_name,@l_name)", con); 

com1.Parameters.AddWithValue("@f_name", TextBox1.Text); 
com1.Parameters.AddWithValue("@l_name", TextBox2.Text); 

com1.ExecuteNonQuery(); 

这个代码提供查询的错误“号值和目标字段是不一样的“

我正在使用MS Access 2013数据库和ASP.Net C#。

+0

你需要指定将被插入的值的列名我建议阅读如何格式化INSERT查询语句以及这并不难想象.. – MethodMan 2014-08-27 17:32:30

回答

2

您必须明确指定INSERT语句中的列,否则它将处理INSERT语句中的所有列并因此出现错误。

OleDbCommand com1 = new OleDbCommand("insert into employee (f_name, l_name) values(@f_name,@l_name)", con); 

你的表有一栏idAutoNumber,但因为你没有在查询中明确指定的任何列它会像:

insert into(f_name,l_name,id) employee values(@f_name,@l_name) 

因此,你所得到的错误。