asp.net 高手救命啊!

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:35:48
我在做数据删除的时候,老是出现下面的错误:
索引超出范围。必须为非负值并小于集合大小。参数名: index

我的代码: (delete_command)
Dim str As String
str = "delete from Student where id=" & DgridStudent.DataKeys(CInt(e.Item.ItemIndex))
Dim cmd As New OleDbCommand(str, con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
DgridStudent.EditItemIndex = -1
Call binddata()
binddata()是调用的一个函数.
上面是没有在前台设置datakeyfield的值 出现的错误.

设置了datakeyfield=id 后.. 连datagrid 中数据都显示不出来了..

DataBinder.Eval:“System.Data.DataRowView”不包含名称为 id 的属性。
在数据库中 我设置了 字段 id 为主键.
那为高手救下我..急啊...
能帮我指出原因..并帮我改一下..谢谢..

& DgridStudent.DataKeys(CInt(e.Item.ItemIndex))
这是什么
你看看这个地方吧!

如果你的DATAGRID中只有1条记录 而且你还把他删除了他会报错的 因为没有记录了 这个可以加TRY CATCH捕获,至于你说的ID可能是你绑定DATAGRID的SELECT语句中没有查ID这一列 在你的查询语句中加上ID就可以了

还有什么不懂加我QQ吧 381419453