我写的修改数据的代码如下: 
      try{ 
            stmt.execute("UPDATE   s_c   SET   grade="+grade+"WHERE   sno="+s+"AND   cno="+cno); 
                  %> 
                <center> 
                        <font   face="隶书"   size=4   color="#CC0000"   > 修改操作成功! </font>                 </center> 
<% 
    
    } 
    catch(Exception   e){out.println(e.getMessage());} 
%> 
  然后接受到异常处理:You   have   an   error   in   your   SQL   syntax;   check   the   manual   that   corresponds   to   your   MySQL   server   version   for   the   right   syntax   to   use   near   'sno=222005080605041AND   cno=101'   at   line   1   
    真的不知道为什么?哪位高手能帮忙解决一下!感激不尽!

解决方案 »

  1.   

    Sql语句错了,你打印出来就看出来为什么了
    stmt.execute("UPDATE s_c SET grade="+grade+" WHERE sno="+s+" AND cno=" + cno); 
    空格要控制好
    如果是字符串类型加引号
      

  2.   

    太粗心了。
    在AND前面加個空格。
    stmt.execute("UPDATE       s_c       SET       grade="+grade+"WHERE       sno="+s+" AND       cno="+cno); 
      

  3.   

    "sno=222005080605041AND" 改为 "sno= '222005080605041' AND"
      

  4.   

    字符串类型要加 '' , and 前面空一下格    建议楼主先在查询分析器中先写一条SQL语句,再去改
      

  5.   

    写sql语句要注意空格,同上所说的,在查询分析器中运行成功后再用吧
      

  6.   

    出现在sql语句的时候
    先把sql语句打出来
    放入mysql之中运行
      

  7.   

    stmt.execute("UPDATE  s_c  SET  grade=" '+grade+' " WHERE  sno="'+s+'" AND cno=" '+cno'" "); 这样应该没有问题了吧  
      

  8.   

    stmt.execute("UPDATE       s_c       SET       grade="+grade+"WHERE       sno="+s+"AND       cno="+cno);   写成
    stmt.execute("UPDATE  s_c SET  grade="+grade+"WHERE  sno="+s+"  AND  cno="+cno);   
    由于 and 与前面的参数连接在一起了 还有参数 如果不时数字型最好用引号包起来。否则 会有其他异常
      

  9.   

    还提醒一下。 不要把 java代码写在 jsp 页面中 。你可以使用调用bean 来写到页面中。
    这样你写得太累了不好维护