Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 插入多列access数据库_C#_Sql_Ms Access - Fatal编程技术网

C# 插入多列access数据库

C# 插入多列access数据库,c#,sql,ms-access,C#,Sql,Ms Access,我遇到的问题是,当我想同时插入到多个列中时 我所拥有的是: AccessDataSource1.InsertCommand=“插入[CoursesTaken](StudentID)值(“'TextBox1.Text+”);”;AccessDataSource1.Insert();AccessDataSource1.DataBind() 插入到一列中,但当我尝试此操作时: AccessDataSource1.InsertCommand=“插入[CoursesTaken](学生ID,CourseID

我遇到的问题是,当我想同时插入到多个列中时

我所拥有的是:
AccessDataSource1.InsertCommand=“插入[CoursesTaken](StudentID)值(“'TextBox1.Text+”);”;AccessDataSource1.Insert();AccessDataSource1.DataBind()

插入到一列中,但当我尝试此操作时:

AccessDataSource1.InsertCommand=“插入[CoursesTaken](学生ID,CourseID)值(“+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();
    }

它仍然在给我错误信息。有人能给我解释一下吗?

您需要像插入列表一样使用逗号分隔值

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

如果使用换行符,可能会给您带来困难。如果您没有,那么我不知道可能会出现什么问题,也不知道这是一个滞后问题还是Access的问题,但它现在正在工作。非常感谢。