我有一个sql语句,我试图将数据插入到.mdb数据库中,放入表中。我的查询是
"INSERT INTO PROJECT_MASTER VALUES ('" + Project_ID.Text + "','" + Project_Name.Text + "'," +
"'" + Common_Log_ID.Text + "','" + Common_Log_Description.Text + "'," +
"'" + Convert.ToString(Project_Manager.SelectedItem) + "','" + Convert.ToString(Priority_value) + "'," +
"'" + Convert.ToString(Complexity_value) + "','" + Convert.ToString(Status_value) + "'," +
"'" + Convert.ToDateTime(sd) + "','" + Convert.ToDateTime(ed) + "'," +
"'" + Notes.Text + "','" + Convert.ToString(User_Name) + "'," +
"'" + DateTime.Now + "')";
SO我的表有14列,第1列是自动编号增量,最后一列是当前日期。除此之外,我只给出了所有其他正确的信息。
我在asp.net
中遇到“查询值和目标字段数不相同”的错误答案 0 :(得分:0)
如果省略第一列,则查询应该如下:
INSERT INTO PROJECT_MASTER (col2, col3, ..., col14) VALUES ...
答案 1 :(得分:0)
我建议你两个改变两件事,以避免一般的错误:
1。)列出INSERT
中的列INERT INTO table (a, b) VALUES (1, 2)
这会将1
插入到列a
和2
中b
,并允许您跳过第一列和最后一列。
2。)使用parameterized queries。这使您的陈述更具可读性,并带来some security。
答案 2 :(得分:0)
因为您没有提供autoincrement
列值,因此数据库仅获取13
个值而不是14
。
以下方式可能对您有帮助....
"insert into PROJECT_MASTER(SPECIFY_COLUMN_NAMES_WHICH_YOU_WANT_TO_INCLUDE_HERE) values(SPECIFY_YOUR_VALUES_HERE)