`
清风夜影寒
  • 浏览: 150885 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

索引值超出范围,必须为非负值并小于集合大小

    博客分类:
  • C#
Web 
阅读更多
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。

参数名: index

分析: 1.gridview的datasource是否重新做了绑定 2.是否设定了datakeynames属性

源错误:


行 50: mycmd.CommandType = CommandType.StoredProcedure;行 51: SqlParameter para_id = new SqlParameter("@id", SqlDbType.Int);行 52: para_id.Value = (int)gv_result.DataKeys[e.RowIndex].Value;行 53: mycmd.Parameters.Add(para_id);行 54: mycmd.ExecuteNonQuery();




昨天我在用gridview做数据删除时遇到这样一个问题,一直出现索引超出范围。必须为非负值并小于集合大小。参数名: index 的错误,郁闷了一阵子,后来才知道需要给Grewview绑定一个主键,也就是在Grewview属性中加入DataKeyNames="主键字段名",

(也可在绑定数据的时候加入,

gv_result.DataSource = mydr;

gv_result.DataKeyNames = new string[] { "mem_id"} ;

gv_result.DataBind)

这样问题得到了解决。

//.aspx

<asp:GridView ID="gv_result" runat="server" AutoGenerateColumns="False" DataKeyNames="mem_id" BorderColor="Black" BorderStyle="None" BorderWidth="0px" CellSpacing="3" GridLines="Horizontal" Width="400px" OnRowDeleting="gv_result_RowDeleting">

          <FooterStyle BackColor="#B5C7DE" BorderColor="#4A3C8C" BorderStyle="None"/>

          <Columns>

            <asp:BoundField DataField="mem_id" HeaderText="编号" />

            <asp:BoundField DataField="mem_account" HeaderText="用户账号" />

            <asp:BoundField DataField="mem_ip" HeaderText="用户ip" />

            <asp:BoundField DataField="mem_regdate" HeaderText="用户注册时间" />

              <asp:HyperLinkField DataNavigateUrlFields="mem_id" DataNavigateUrlFormatString="mod.aspx?id={0}"

                  HeaderText="修改" Text="修改" />

              <asp:HyperLinkField DataNavigateUrlFields="mem_id" DataNavigateUrlFormatString="del.aspx?id={0}"

                  HeaderText="链接删除" Text="删除" />

              <asp:CommandField HeaderText="按钮删除" ShowDeleteButton="True" ButtonType="Button" />

          </Columns>

          <RowStyle BackColor="#C0FFC0" BorderColor="Black" BorderStyle="None" />

          <HeaderStyle BackColor="Gray" BorderColor="Gray" ForeColor="White" />

          <AlternatingRowStyle BackColor="#FF80FF" />

      </asp:GridView>

//.cs

protected void gv_result_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        string connstr = ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString;

        SqlConnection myconn = new SqlConnection(connstr);

        myconn.Open();

        SqlCommand mycmd = new SqlCommand("MemDel", myconn);

        mycmd.CommandType = CommandType.StoredProcedure;

        SqlParameter para_id = new SqlParameter("@id", SqlDbType.Int);

        para_id.Value = (int)gv_result.DataKeys[e.RowIndex].Value;

        mycmd.Parameters.Add(para_id);

        mycmd.ExecuteNonQuery();

        myconn.Close();

        Response.Write("<script>alert('删除成功!');window.location.href='search.aspx';</script>");

    }
0
1
分享到:
评论

相关推荐

    数据库自动备份

    选择合适的介质要考虑备份的大小、速度、恢复时的可用性和成本。 3. **备份脚本**:使用PL/SQL或者操作系统脚本(如bash或Windows批处理)编写,定义备份过程,包括连接到数据库、启动备份、传输数据到备份介质、...

    电子商务购物商城前台

    这是我自己写的一个电商前台类,一直报C#索引超出范围。必须为非负值并小于集合大小。参数名: index的错,望大神们私聊我帮助我解决问题,有重谢

    变量取对数后存在负值是否有影响?

    在双对数模型中,我们常常遇到部分变量取对数后存在负值,比如比值型变量X,如果0&lt; X,则在取对数后,lnX会变为负值。这是否影响回归结果呢?我们知道取自然对数 情况下,变量取值1,则自然对数值为0;变量取值小于1...

    margin负值之美

    使用负值`margin`时需要注意其可能带来的副作用,比如可能导致元素超出预期的容器边界,或者与其他元素产生冲突。因此,在使用时需谨慎,确保在满足设计需求的同时,不会破坏整体布局的稳定性和可维护性。 5. **...

    z-index为负值的元素无法点击到的解决方法

    综上所述,当遇到z-index为负值的元素无法点击的问题时,开发者可以采取调整z-index值、使用负margin属性或适当使用CSS重置样式等方法解决。在实施这些解决方法时,需要综合考虑页面布局和样式需求,以及浏览器兼容...

    在Excel图表中处理负值.rar

    例如,设定一个规则让小于零的值显示为深红色,介于零到一定值之间的为浅红,大于这个值的为绿色。 5. **添加数据标签**:为了清楚地显示每个数据点的具体数值,可以添加数据标签。在“图表元素”中勾选“数据标签...

    在numpy矩阵中令小于0的元素改为0的实例

    在进行数据分析时,有时我们会遇到需要将数据集中的某些异常值(例如负值)替换为其他特定值的情况。对于矩阵或数组而言,这通常涉及到条件判断和替换操作。在 `numpy` 中,我们可以利用多种方法来高效地完成这一...

    ArcGIS问题:面积出现负值的情况

    在地理信息系统(GIS)领域,尤其是使用ArcGIS软件进行数据处理与分析时,有时会遇到一个令人困惑的问题:计算的面元素面积显示为负值。这种情况不仅违背了基本的几何学原理,即面积应为非负数值,而且可能严重影响...

    高中数学集合测试题(含答案和解析).doc

    4. 绝对值的含义:绝对值表示数的非负值,|x|表示数x的绝对值。在解决集合问题时,可能会遇到含有绝对值的不等式,需要分两种情况解出对应的集合。 5. 不等式的解法:不等式如x² - x - 2 需要通过因式分解或求根...

    为什么RSSI是负值

    为什么RSSI是负值,其实归根到底为什么接收的无线信号是负值,这样子是不是容易理解多了。因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是负的。1mW就是0dBm,小于1mW就是负数的dBm数。

    VS2005(c#)项目调试问题解决方案集锦

    必须为非负值并小于集合大小 **原因分析:** 这通常是因为对集合进行了非法访问,如索引值超出了实际的数据范围。 **解决方案:** 确保索引值的有效性,并且对集合进行适当的边界检查。例如: ```csharp if ...

    margin 负值引起的层级(z-index)问题

    首先,需要了解的是,当一个元素设置了position属性为非static(如relative、absolute、fixed等)时,该元素才会生成层叠上下文,此时它的z-index属性才能起作用。如果元素的position属性是static,那么即使设置了z-...

    集合和简易逻辑单元测试题组.doc

    8. **元素个数的最值**:在集合的交集或并集中,元素个数的最大值和最小值可以通过集合元素的关系来计算。例如,爱好足球和排球的学生集合的交集元素个数范围。 9. **命题的真值**:在逻辑推理中,命题的真假可以...

    汉字转ascii时为什么是负值以及如何转为汉字内码和区位码

    ### 汉字转ASCII时为何出现负值 在探讨汉字转ASCII时出现负值的原因之前,我们首先需要了解几个基本概念。 #### ASCII与Unicode编码简介 - **ASCII(American Standard Code for Information Interchange)**:是...

    C语言数据类型及取值范围.doc

    需要注意的是,从`char`或`signed char`转换为`int`时,如果`char`包含负值,其最高位(符号位)会被扩展,可能导致数值的负数部分扩大,因此处理可能超出8位范围的数值时,使用`unsigned char`更合适。 在输出这些...

    为Excel2021图表负值设置不同颜色.docx

    本文将详细讲解如何为Excel2021图表中的负值设置不同的颜色,使得正值和负值能够一目了然地被区分出来。 首先,假设你已经创建了一个条形图来表示数据,但默认情况下,无论正值还是负值,图表中的条形颜色都是相同...

    带有负值的灰度图像直方图绘制

    图像处理 直方图 遥感

    边界值分析

    - 如果输入或输出条件规定了输入或输出值的集合或“必须如何”的规则,则每个允许的集合或规则都可确定一个有效等价类,而每个不允许的集合或规则都可确定一个或多个无效等价类。 通过以上分析可以看出,边界值分析...

    实现控件任意拖动摆放和调整大小

    4. **边界限制**:可能还需要设置边界限制,确保控件不会超出父容器或其他控件的范围。 在压缩包中的"demo"文件很可能是包含一个示例工程,展示了上述功能的实现。通过查看和运行这个示例,你可以更直观地了解如何...

    电气试验中两个异常负值现象分析.pdf

    文中提及的两个异常负值现象,即“负电阻”和“负介损”,均是测量中遇到的异常情况,若简单判断为被测品或试验仪器的问题,可能会导致误判。因此,对现象的深入分析和正确解读就显得尤为重要。 “负电阻”现象是在...

Global site tag (gtag.js) - Google Analytics