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

//GridView更新数据的时候,提示:指定的参数已超出有效值的范围

myjieli 发布于 2011-01-11 08:09, 895 次点击
//后台更新语句   
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        sqlcon = new SqlConnection();
        string sqlstr = "update info set Name='" //指定的参数已超出有效值的范围。参数名: index。
            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',Sex='"
            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "' where id='"
            + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
        sqlcom = new SqlCommand(sqlstr, sqlcon);
        sqlcon.Open();
        sqlcom.ExecuteNonQuery();
        sqlcon.Close();
        GridView1.EditIndex = -1;
        bind();

    }
//前台语句
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
            onrowcancelingedit="GridView1_RowCancelingEdit"
            onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
            onrowupdating="GridView1_RowUpdating">
            <Columns>
                <asp:BoundField DataField="Name" HeaderText="名字" />
                <asp:BoundField DataField="Sex" HeaderText="性别" />
                <asp:CommandField ShowSelectButton="True" />
                <asp:CommandField ShowEditButton="True" />
            </Columns>
        </asp:GridView>
1 回复
#2
筱晓绾2011-01-11 08:33
设个断点,调试GridView1.Rows[e.RowIndex].Cells[1].Controls[0]以及GridView1.Rows[e.RowIndex].Cells[2].Controls[0]还有GridView1.DataKeys[e.RowIndex].Value.ToString()的值,看是否是更新的内容.如果不是,则需要重新取值.
1