MS Access数据库中的自动编号列插入

时间:2014-08-27 17:26:14

标签: c# asp.net 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#。

1 个答案:

答案 0 :(得分: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)

因此您收到错误。