在gridview控件中删除一条记录,返回页面时刷新出现错误请高手解决下!谢谢!

lzx1986 2009-04-21 10:42:07
我的后台数据表结构是这样的
表 学生课程记录表
id 学号 课程编号
1 510331101 1111
表 课程信息表
已选人数 课程编号
3 1111
目的是在删除学生课程记录表中这条记录然后让课程信息表的已选人数字段-1
触发器为
CREATE TRIGGER 课程信息表1 ON [dbo].[学生课程记录表]
FOR DELETE
AS
begin
update 课程信息表 set 已选人数=已选人数-1 from (select 课程编号 from deleted) d where 课程信息表.课程编号=d.课程编号
end

在查询分析器里执行没问题但是我作为网站的后台数据库在前台页面里的gridview控件里删除记录就会出现这个错误:
指定的参数已超出有效值的范围。
参数名: value
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: value

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: value]
System.Web.UI.WebControls.GridView.set_SelectedIndex(Int32 value) +1522711
System.Web.UI.WebControls.GridView.HandleDeleteCallback(Int32 affectedRows, Exception ex) +354
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +123
System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +927
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1134
System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +199
System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


我是用visual studio 2008 (C#)语言做的网站后台数据库是sql2000 应该是删除记录后页面刷新出现错误应如何解决
请帮忙解决下!!谢谢!!
...全文
186 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zaxx 2010-04-01
  • 打赏
  • 举报
回复
这个问题很好解决:在你的触发器里,begin后添加语句:set nocount on;在end前添加set nocount off即可。
LoveLife_Go 2009-04-21
  • 打赏
  • 举报
回复
你不贴删除代码,看不出来
lzx1986 2009-04-21
  • 打赏
  • 举报
回复
这里有答案吗/.....?大哥
NeptuneGrass 2009-04-21
  • 打赏
  • 举报
回复
lzx1986 2009-04-21
  • 打赏
  • 举报
回复
表中有2条记录的时候删第一条的时候没错误,但是删除第2条的时候又出现同样的错误,怎么解决??
LoveLife_Go 2009-04-21
  • 打赏
  • 举报
回复
贴删除代码和刷新代码
lzx1986 2009-04-21
  • 打赏
  • 举报
回复
删除了在 修改就要用触发器呀
LoveLife_Go 2009-04-21
  • 打赏
  • 举报
回复
触发器我不是很懂,你这是FOR DELETE,应该是删除时触发吧
删除了还怎么修改啊?
lzx1986 2009-04-21
  • 打赏
  • 举报
回复
为什么写了触发器还要写删除代码???
lzx1986 2009-04-21
  • 打赏
  • 举报
回复
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{

SqlConnection Con1 = new SqlConnection("Server=(local);Database=StudentManageSys;UID=sa;Pwd=861022;");

string sql5 = "update 课程信息表 set 已选人数=已选人数-1 where 课程编号='" + Session["ccno"].ToString() + "'";

SqlCommand addCommand6 = new SqlCommand(sql5, Con1);
Con1.Open();
addCommand6.ExecuteNonQuery();
Con1.Close();

}
catch (Exception)
{
String sScript = "";
sScript += "<script language=javascript>";
sScript += " window.opener.location.reload();";
sScript += " window.close();</script>";
}
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧