学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

gridview里的删除怎么实现

gridview里的删除怎么实现

想起用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

TOP

主键设置了没看下

TOP

你要设置GridView的DataKeyName那个属性 设置成你的“获取当前行的id”
假如你没有设置的话  自然就提示你Index超了  因为它就没有~

TOP

谢谢!!
找到了
是那个错误

TOP

发新话题