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

gridview删除问题

tel1982 发布于 2007-05-12 12:05, 1779 次点击
protected void gvQz_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string strID = this.gvQz.DataKeys[e.RowIndex].Value[0].ToString();
string strsql = ConfigurationManager.ConnectionStrings["qzsql"].ConnectionString;
SqlConnection con = new SqlConnection(strsql);
con.Open();
string deletestr = "delete from qztable where qzID="+strID;
SqlCommand cmd = new SqlCommand(deletestr,con);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
con.Dispose();
}
他总是提示我说红色标记的这句话有错误,怎么回事??

[此贴子已经被作者于2007-5-15 7:11:10编辑过]

15 回复
#2
tel19822007-05-12 12:51

他总是提示说这个问题:索引超出范围。必须为非负值并小于集合大小。参数名: index
请各位大佬帮忙看一下。小弟不胜感激。

#3
冰残剑2007-05-12 13:36
string strID = this.gvQz.DataKeys[e.RowIndex].Value.ToString();
#4
tel19822007-05-12 13:47
这样我试过了也不行。
请问还有别的解决方法吗?
#5
tel19822007-05-12 15:59
这个问题已经解决了,但是又出现了一个新的问题,是这样的“数字 名称 'System.Web.UI.WebControls' 包含的前缀数目超过了最大值。最大值为 3。”这是怎么回事呀?
#6
beniao2007-05-13 00:04

这个问题到是没遇到过`不清楚`

#7
冰镇柠檬汁儿2007-05-13 12:52
楼主,给GridView的DataKeyNames属性赋值了吗?
#8
tel19822007-05-15 07:10

已经解决了,谢谢各位!

#9
stonefang2007-05-20 22:52

老兄你的解决了,帮我看一下这个代码麻烦改改,我在执行删除时错误提示:数据库外键约束问题,就是说我是对一张有外键的表进行delete操作,应怎么办?
protected void Gv_teach_RowDeleting(object sender, GridViewDeleteEventArgs e)
{//删除数据
SqlConnection con = DB.CreateConn();
con.Open();
string sqlstr = "delete from Teacher where Teacher_id='"+Gv_teach.DataKeys[e.RowIndex].Value.ToString()+"'";
SqlCommand sqlcom = new SqlCommand(sqlstr, con);

sqlcom.ExecuteNonQuery();
try
{
sqlcom.ExecuteNonQuery();
Lbl_note.Text = "删除成功";

}
catch (SqlException)
{
Lbl_note.Text = "删除失败";
Lbl_note.Style["color"] = "red";
}
sqlcom.Connection.Close();
St_BindGridView();
}

#10
bygg2007-05-21 09:24
this.gvQz.DataKeys[e.RowIndex].Value[0].ToString();
黑体处,如果你给DataKeyNames赋了多个值,那这样写..比如同时把两个值赋给DataKeyNames.那就可以用Value[0],Value[1]来进行取值.
#11
tel19822007-05-21 12:06
那样是不是应该用Vlaues呀??
#12
Kendy1234562007-05-21 12:22
9 楼的 你得先把外键关联的子表的Teacher_id相关数据都删除 然后才能删除主表
#13
bygg2007-05-21 12:23
Vlaues ???全部取吗?
#14
tel19822007-05-21 13:08
我搞错了,不好意思了。
#15
stonefang2007-05-21 15:51
回复:(Kendy123456)9 楼的 你得先把外键关联的子表...
大哥,你能帮我改一下吗?小弟我新学手,不会呀.
#16
tel19822007-05-27 11:41

我已经发过了帖子,你找一下看。

1