//数据源是自己写代码绑定的
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection conn = DB.createConnection();
SqlCommand cmd = new SqlCommand("select experimentDepartID as 实验部门ID,edName as 实验部门名称 from experimentDepart order by experimentDepartID", conn);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
this.gvEdName.DataSource = sdr;
this.gvEdName.DataBind();
sdr.Close();
conn.Close();
} }
//事件代码
protected void gvEdName_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
this.gvEdName.DataKeyNames = new string[] { "experimentDepartID" };
int i = (int)this.gvEdName.DataKeys[e.RowIndex].Values[0];
SqlConnection conn = DB.createConnection();
conn.Open();
SqlCommand cmd = new SqlCommand("delete from experimentDepart where experimentDepartID='" + i + "'", conn);
SqlParameter para = new SqlParameter("@i", SqlDbType.TinyInt);
para.Value = i;
cmd.Parameters.Add(para);
cmd.ExecuteNonQuery();
this.gvEdName.DataBind();
conn.Close();
}
可是一点击删除按钮,就显示
“索引超出范围。必须为非负值并小于集合大小。
参数名: index ”请各位大侠帮忙解决下,是怎么回事。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection conn = DB.createConnection();
SqlCommand cmd = new SqlCommand("select experimentDepartID as 实验部门ID,edName as 实验部门名称 from experimentDepart order by experimentDepartID", conn);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
this.gvEdName.DataSource = sdr;
this.gvEdName.DataBind();
sdr.Close();
conn.Close();
} }
//事件代码
protected void gvEdName_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
this.gvEdName.DataKeyNames = new string[] { "experimentDepartID" };
int i = (int)this.gvEdName.DataKeys[e.RowIndex].Values[0];
SqlConnection conn = DB.createConnection();
conn.Open();
SqlCommand cmd = new SqlCommand("delete from experimentDepart where experimentDepartID='" + i + "'", conn);
SqlParameter para = new SqlParameter("@i", SqlDbType.TinyInt);
para.Value = i;
cmd.Parameters.Add(para);
cmd.ExecuteNonQuery();
this.gvEdName.DataBind();
conn.Close();
}
可是一点击删除按钮,就显示
“索引超出范围。必须为非负值并小于集合大小。
参数名: index ”请各位大侠帮忙解决下,是怎么回事。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货