指定的参数已超出有效值的范围. index 10

publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,Eve... public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
bind();
}
public void bind()
{
SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["sqlcon"]);
string str = " select * from 学员 ";
SqlDataAdapter da = new SqlDataAdapter(str, connection);
DataSet ds = new DataSet();
connection.Open();
da.Fill(ds, "学员");
GridView1.DataSource = ds.Tables[0];
GridView1.DataKeyNames = new string[] { "编号" };
GridView1.DataBind();
connection.Close();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["sqlcon"]);
con.Open();
string sqlstr = "update 学员 set 姓名='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',身份证号='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "' where 编号='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlCommand com = new SqlCommand(sqlstr, con);
com.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
bind();
}
}
这是为什么?????
展开
 我来答
chinagj07
2015-06-19 · 超过23用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:44.2万
展开全部
代码是如此的不规范。没有任何的为空判断,没有任何的开辟数据库连接成功的判断。你就能保证每一行记录的每一个字段没有一个等于null的。还有你的数据库表的字段数是否一定满足你的控件列数。
追问
请问什么原因造成超出范围呢?应该怎么改
请问什么原因造成超出范围呢?应该怎么改
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式