插入多列访问数据库

时间:2014-03-09 02:39:31

标签: c# sql ms-access

我遇到的问题是我想要同时插入多个列。

我的所作所为:
 AccessDataSource1.InsertCommand = "INSERT INTO [CoursesTaken] (StudentID) VALUES ('" TextBox1.Text + "');"; AccessDataSource1.Insert();AccessDataSource1.DataBind();

插入一列但我尝试这样做时: AccessDataSource1.InsertCommand = "INSERT INTO [CoursesTaken] (StudentID, CourseID) VALUES ('" + TextBox1.Text + "''" + TextBox2.Text + "');"; AccessDataSource1.Insert();AccessDataSource1.DataBind();

它给出了错误消息“查询值和目标字段的数量不相同。”

然后我尝试了这个:

   if (e.CommandName.CompareTo("Insert") == 0)
    {
        int newIndex = Convert.ToInt32(e.CommandArgument);

        AccessDataSource1.InsertCommand = "INSERT INTO [CoursesTaken] (StudentID, CourseID) VALUES ('" + TextBox1.Text + "''" + TextBox2.Text + "');";
        AccessDataSource1.InsertParameters.Add(TextBox1.Text, GridView1.Rows[newIndex].Cells[0].Text);
        AccessDataSource1.InsertParameters.Add(TextBox2.Text, GridView1.Rows[newIndex].Cells[1].Text);

        AccessDataSource1.Insert();
        AccessDataSource1.DataBind();
    }

它仍然给我错误信息。有人会介意向我解释这个吗?

1 个答案:

答案 0 :(得分:2)

您需要使用逗号分隔值,就像在INSERT列表中一样

AccessDataSource1.InsertCommand = "
INSERT INTO [CoursesTaken] (StudentID, CourseID) 
VALUES ('" + TextBox1.Text + "', '" + TextBox2.Text + "');";   
AccessDataSource1.Insert();AccessDataSource1.DataBind();