Convert.ToInt32(value)
在转化前要求value的值为非空的,显应该是可以安全转化到数字的字符或其它的
也就是说你得确保value应该是 “数字.ToString()”中所以可能的一种不知道有没有说清楚
呵呵
祝你好运

解决方案 »

  1.   

    try:
    Convert.ToInt32(((TextBox)e.Item.Cells[1].Controls[0]).Text.trim())  
    有可能是你(((TextBox)e.Item.Cells[1].Controls[0]).Text)里面的字符串格式不对。
      

  2.   

    跟踪一下值:((TextBox)e.Item.Cells[1].Controls[0]).Text
      

  3.   

    我试过改成:
    objDataSet.Tables["12"].Rows[row]["姓名"]=((TextBox)e.Item.FindControl("StuName")).Text;
    objDataSet.Tables["12"].Rows[row]["学号"]=((TextBox)e.Item.FindControl("StuID")).Text;
    更新后没出错,但是没更新倒数据库中。
    更新语句是:
    OleDbDataAdapter objAdapter=(OleDbDataAdapter)Session["stuAdapter"];
    OleDbCommandBuilder objCommandBuilder=new OleDbCommandBuilder(objAdapter);
    objAdapter.UpdateCommand=objCommandBuilder.GetUpdateCommand();
    objAdapter.InsertCommand=objCommandBuilder.GetInsertCommand();
    objAdapter.DeleteCommand=objCommandBuilder.GetDeleteCommand();
    objAdapter.Update(objDataSet,"12");
    dgStuList.EditItemIndex=-1;
    dgStuList.DataSource=LoadDataView();
    dgStuList.DataBind();
    为什么数据库没变化?