protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string SQLstring = "update UTC_Userinfo set UserPass='"
         + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',AreaCode='"
         + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' ,Position ='"
         + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "'  where UserCode='"
         + GridView1.DataKeys[e.RowIndex].Value.ToString().Trim() + "'";
     
        DBM = new DataBaseM();
        DBM.RunProc(SQLstring);
   
        GridView1.EditIndex = -1;
        this.bind();     
    }  UserPass 为第3列  AreaCode为第四列 Position为第5列  前两列设为只读 不能编辑

解决方案 »

  1.   

    只要检查SQLstring是不是可执行的sql语句就行了方法:设个断点,提取出SQLstring的值,然后到数据库执行一下就知道什么问题了
      

  2.   

    ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim()  ?
    有这种用法啊?用GridView1.Rows[e.RowIndex].Cells[2].Value.ToString().Trim()试试,
    另 调试的时候建议吧SQL语句弹出来看看.
      

  3.   

    1楼的方法可行,一般这种小问题,都是SQL语句问题放个标签,显示出SQL字符串,就知道是哪些内容/字段不匹配了
      

  4.   

    在它DBM.RunProc(SQLstring)设个断点,然后运行下,看看SQLstring它生成的SQL语句,然后把生成的SQL语句拿到SQL SERVER中运行下,看看能不能通过