雪夜白狼 发表于 2008-5-13 20:53

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>");

    }


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

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index[/color]

bysj 发表于 2008-5-13 21:18

主键设置了没看下

microsystems 发表于 2008-5-13 22:46

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

雪夜白狼 发表于 2008-5-14 16:49

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

页: [1]

编程论坛