小弟在用GridView控件更新数据时,用更新语句"where 教师编号='"+((TextBox)(gvTeachers.Rows[e.RowIndex].Cells[0].Controls[0])).Text+"'"时,报index参数超出有效值范围的错误。然后改为"where 教师编号='"+gvTeachers.DataKeys[e.RowIndex].Value.ToString()+"'"就好了。其中第0列指定为主键列。这两者有什么不同吗?望各位大侠不吝赐教!小弟不胜感激!