这是我的数据库结构
我的表名是员工
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 :(得分:2)
您必须在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)
因此您收到错误。