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

C# MS Access数据库中的自动编号列插入,c#,asp.net,ms-access,C#,Asp.net,Ms Access,这是我的数据库结构 我的表名是employee First Column is "f_name" datatype "Short Text" Second is "l_name" datatype "Short Text" Third is "id" datatype "AutoNumber" Primary Key C#代码: 此代码给出一个错误“查询值和目标字段的数量不相同” 我使用的是MS Access 2013数据库和ASP.Net C#。您必须在IN

这是我的数据库结构

我的表名是employee

First Column is "f_name" datatype "Short Text"
Second       is "l_name" datatype "Short Text"
Third        is "id"     datatype "AutoNumber" Primary Key
C#代码:

此代码给出一个错误“查询值和目标字段的数量不相同”


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

您必须在
INSERT
语句中明确指定列,否则它将处理
INSERT
语句中的所有列,从而导致错误

OleDbCommand com1 = new OleDbCommand("insert into employee (f_name, l_name) values(@f_name,@l_name)", con);
您的表中有一个列
id
,它是
AutoNumber
,但由于您没有在查询中明确指定任何列,因此如下所示:

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

因此,您得到了错误

您需要指定要插入的值的列名。我建议您也阅读一下如何格式化INSERT查询语句,这并不难理解。。
OleDbCommand com1 = new OleDbCommand("insert into employee (f_name, l_name) values(@f_name,@l_name)", con);