gridview怎么写删除事件

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:48:24
delete from 学生 where 学号=" + GridView1.DataKeys[e.RowIndex].Value + ""
这样报错说:索引超出范围。必须为非负值并小于集合大小。
我问的是怎么写才对

不知道你DataKeys怎么写的,如果确实定义了的话
GridView1.DataKeys[e.RowIndex][0].ToString()
试验下

DataKeys[rowIndex][KeysIndex]

第一个是GridView选中的行,第二个才是Datakeys的索引
因为GridView有多行可以定义多个DataKeys,你可以把它看成一张表
要确定某一个具体单元格的话就要知道他所在的行和列。

用delete from 学生 where 学号=" + GridView1.SelectedValue.ToString() + "";试试

SelectedValue是GridView的当前选中行的DataKey的值。

如果要用e的属性的话,不要用e.RowIndex它只是要删除的GridView行号,并不是键集合的索引。可以用e的Keys属性,这样:
"delete from 学生 where 学号=" + e.Keys[0].ToString()

Gridview中放一控件,如Label1,控件的Text绑定为数据库中的一列(“学号”),
然后,读取删除的行的学号,再delete from 学生 where 学号=Label1.Text

e.RowIndex这个东西取的值是从1开始的还是从0开始 ,跟踪下啊
1 0
2 1
3 2
明白?