注册 登录
编程论坛 ASP.NET技术论坛

gridview里的删除怎么实现

雪夜白狼 发布于 2008-05-13 20:53, 1097 次点击
想起用gridview的、删除功能
数据库是手动帮定的
 


protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {

        OleDbConnection conn;
        conn = DB.DBconntionadmin();
        conn.Open();
        string ID = this.GridView1.DataKeys[e.RowIndex].Value.ToString();//获取当前行的id
      
        string sql2 = "delete from where id="+ID;
        OleDbCommand comm = new OleDbCommand(sql2,conn);
        
        comm.ExecuteNonQuery();
        conn.Close();
        Response.Write("<script>alert('删除成功');</script>");

    }


可是出现错误!!!
索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
3 回复
#2
bysj2008-05-13 21:18
主键设置了没看下
#3
microsystems2008-05-13 22:46
你要设置GridView的DataKeyName那个属性 设置成你的“获取当前行的id”
假如你没有设置的话  自然就提示你Index超了  因为它就没有~
#4
雪夜白狼2008-05-14 16:49
谢谢!!
找到了
是那个错误
1