string strUpdate=UPDATE score set ( " 学号='"+((TextBox)e.Item.Cells[1].Controls[0]).Text+"',姓名='"+((TextBox)e.Item.Cells[2].Controls[0].Text+"',语文='"+((TextBox)e.Item.Cells[3].Controls[0]).Text+"',数学='"+((TextBox)e.Item.Cells[4].Controls[0]).Text+"',英语='"+((TextBox)e.Item.Cells[5].Controls[0]).Text+"',政治='"+((TextBox)e.Item.Cells[6].Controls[0]).Text+"') where 学号 like'"+((TextBox).eItem.Cells[1].Controls[0]).Text+"'";
错在哪里亚~~~

解决方案 »

  1.   

    string strUpdate="UPDATE score set 学号='"+((TextBox)e.Item.Cells[1].Controls[0]).Text+"',....+ " where 学号 like'"+((TextBox).eItem.Cells[1].Controls[0]).Text+"'";
    错在哪里亚~~~还有,你的like 似乎没有%号good luck!
      

  2.   

    完整的:
    string strUpdate="UPDATE score set 学号='"+((TextBox)e.Item.Cells[1].Controls[0]).Text+"',姓名='"+((TextBox)e.Item.Cells[2].Controls[0].Text+"',语文='"+((TextBox)e.Item.Cells[3].Controls[0]).Text+"',数学='"+((TextBox)e.Item.Cells[4].Controls[0]).Text+"',英语='"+((TextBox)e.Item.Cells[5].Controls[0]).Text+"',政治='"+((TextBox)e.Item.Cells[6].Controls[0]).Text+"' where 学号 like'"+((TextBox).eItem.Cells[1].Controls[0]).Text+"'";
      

  3.   

    where 学号='"+((TextBox).eItem.Cells[1].Controls[0]).Text+"'";
    我觉得这样就行了
      

  4.   

    like'%"+((TextBox).eItem.Cells[1].Controls[0]).Text.Trim(" ")+"'%";
      

  5.   

    还是不行
    提示错误信息:CS0118: 'System.Web.UI.WebControls.TextBox' denotes a 'class' where a 'variable' was expected
      

  6.   

    like'%"+((TextBox).eItem.Cells[1].Controls[0]).Text.Trim(" ")+"%'";楼上的写反了 应该把%都防在 ' ' 之间
      

  7.   

    try
    {}
    catch(Exception err)
    {
        Response.Write("<script>alert(\""+err.Message.ToString()+"\");</script>");
    }
      

  8.   

    注意字段类型,如果是int型的,就要这样 set a="inta" ;再没有单引号了。
      

  9.   

    like'%"+((TextBox).eItem.Cells[1].Controls[0]).Text.Tostring().Trim(" ")+"%'";
      

  10.   

    To:cncca(来个可乐 9_9) 
    但是已经((TextBox)e.Item.Cells[1].Controls[0]).Text
    已经是Text了
      

  11.   

    To:cncca(来个可乐 9_9) 
    除了姓名之外,其它都是数字类型,姓名是文本类型
      

  12.   

    Int32.Parse(((TextBox)e.Item.Cells[1].Controls[0]).Text)
      

  13.   

    cncca(来个可乐 9_9):
    能否把这个语句写一下
      

  14.   

    学号是int型??如果学号以0开头怎么办??
      

  15.   

    string strUpdate=UPDATE score set "学号="+Int32.Parse(((TextBox)e.Item.Cells[1].Controls[0]).Text)+"',姓名='"+((TextBox)e.Item.Cells[2].Controls[0].Text+"',语文='"+Int32.Parse(((TextBox)e.Item.Cells[3].Controls[0]).Text)+"',数学='"+Int32.Parse(((TextBox)e.Item.Cells[4].Controls[0]).Text)+"',英语='"+Int32.Parse(((TextBox)e.Item.Cells[5].Controls[0]).Text)+"',政治='"+Int32.Parse(((TextBox)e.Item.Cells[6].Controls[0]).Text)+"' where 学号 like"+Int32.Parse(((TextBox).eItem.Cells[1].Controls[0]).Text)+;
      

  16.   

    To:cncca(来个可乐 9_9) 
    还是出错:Compiler Error Message: CS1002: ; expected
      

  17.   

    中断,在查询分析器了看一下有值时的这个sql是否正确。
      

  18.   

    我晕~~楼主你就不能养成习惯先把要用的东西放到一个地方用几个变量来存么?这样写sql眼睛都划了。
      

  19.   

    完整的寫法應該是:
    string strUpdate=UPDATE score set ( " 学号='"+((TextBox)e.Item.Cells[1].Controls[1]).Text+"',姓名='"+((TextBox)e.Item.Cells[2].Controls[1].Text+"',语文="+int.Parse(((TextBox)e.Item.Cells[3].Controls[1]).Text)+",数学="+int.Parse(((TextBox)e.Item.Cells[4].Controls[1]).Text)+",英语="+int.Parse(((TextBox)e.Item.Cells[5].Controls[1]).Text)+",政治="+int.Parse(((TextBox)e.Item.Cells[6].Controls[1]).Text)+") where 学号 like '%"+((TextBox).eItem.Cells[1].Controls[1]).Text+"%'";
    應該將Controls[0]改為Controls[1],int類型應該去掉單引號,like 少了%
      

  20.   

    不会把要的值放到一个DataTable对象里吗?然后把对象传到数据层去处理啊 !这样的SQL语句太过与复杂,而且不好维护。作者连层次都没分。