SQL语句数据插入

时间:2013-02-14 12:12:13

标签: sql asp-classic

我有一个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

中遇到“查询值和目标字段数不相同”的错误

3 个答案:

答案 0 :(得分:0)

如果省略第一列,则查询应该如下:

INSERT INTO PROJECT_MASTER (col2, col3, ..., col14) VALUES ...

答案 1 :(得分:0)

我建议你两个改变两件事,以避免一般的错误:

1。)列出INSERT

中的列
INERT INTO table (a, b) VALUES (1, 2)

这会将1插入到列a2b,并允许您跳过第一列和最后一列。

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)