我遇到的问题是我想要同时插入多个列。
我的所作所为:
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();
}
它仍然给我错误信息。有人会介意向我解释这个吗?
答案 0 :(得分:2)
您需要使用逗号分隔值,就像在INSERT列表中一样
AccessDataSource1.InsertCommand = "
INSERT INTO [CoursesTaken] (StudentID, CourseID)
VALUES ('" + TextBox1.Text + "', '" + TextBox2.Text + "');";
AccessDataSource1.Insert();AccessDataSource1.DataBind();