【发布时间】:2018-09-30 08:07:16
【问题描述】:
我想通过该过程将网格视图中的多行存储到数据库中。如果gridview只有一行,我的代码可以正常执行,但是如果有几行,就会报错
过程或函数 insertDetails 指定的参数过多
这是我的 C# 代码:
protected void Button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count;i++ )
{
cmd.CommandText = "insertDetails";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", GridView1.Rows[i].Cells[2].Text);
cmd.Parameters.AddWithValue("@name", GridView1.Rows[i].Cells[3].Text);
cmd.Parameters.AddWithValue("@email", GridView1.Rows[i].Cells[4].Text);
cmd.Parameters.AddWithValue("@contact", GridView1.Rows[i].Cells[5].Text);
cmd.Parameters.AddWithValue("@Addres", GridView1.Rows[i].Cells[6].Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
cmd.Dispose();
}
}
【问题讨论】:
-
您只想在循环外打开和关闭一次连接。重新出错 - 将参数与存储过程和表中的参数进行比较。
标签: c# asp.net sql-server stored-procedures gridview