<% 
   String id=trans(request.getParameter("id"));
   String name=trans(request.getParameter("name"));
   Float price=(float)(request.getParameter("price"));
   String producer=trans(request.getParameter("producer"));
   String descript=trans(request.getParameter("descript"));
   String type=trans(request.getParameter("type"));
  
   Connection conn=db.getConnection();
   Statement stmt=conn.createStatement();
   String sql="update products set productid='"+id+"',category="'"+type+"',name='"+name+",producer='"+producer+"',price='"+price+"',descn='"+descript+"' where productid='"+id+"'";
   stmt.executeUpdate(sql);
    %>
请问更新数据库的语句应该怎么写
就是我上面的SQL语句写错了
请问具体应该怎么写
数据库中的字段是:productid,category,name,producer,price,descn
要讲原数据库中的数据修改为:上面用RS得到的数值
我所写的SQL语句对应是正确的
就是引号或者语法什么的有错误
请大家帮忙修改
谢谢

解决方案 »

  1.   

    category="'多一个”,+name+",少一个’,
      

  2.   

    String sql="update products set productid='"+id+"',"+category+"='type',"+name+"='name',"+producer+"='producer',"+price+"'price',"+descn+"'descript' where "+productid+"='"+id+"'";
      

  3.   

    为什么还是不对呢?
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="java.util.Date" %>
    <%@ page import="java.io.*" %>
    <%!
    String trans(String chi)
    {
    String result = null;
                   byte temp [];
                   try
                   {
                           temp=chi.getBytes("iso-8859-1");
                          result = new String(temp);
                    }
                    catch(java.io.UnsupportedEncodingException e)
                    {
                            System.out.println (e.toString());
                    }
    return result;
    }
    String trans(Object chi)
    {
       return trans(chi.toString());
      }
    %> 
    <jsp:useBean id="db" scope="page" class="demo.openDB" />
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>查看留言</title>
    <style type="text/css">
    body {
    background-image: url(n3olcx.jpg);
    }
    .STYLE1 {color: #FFFFFF}
    .STYLE2 {
    font-family: "华文隶书";
    font-size: 36px;
    }
    </style>
    </head>
    <body>
        <% 
       String id=trans(request.getParameter("id"));
       String name=trans(request.getParameter("name"));
       Float price=(float)(request.getParameter("price"));
       String producer=trans(request.getParameter("producer"));
       String descript=trans(request.getParameter("descript"));
       String type=trans(request.getParameter("type"));
      
       Connection conn=db.getConnection();
       Statement stmt=conn.createStatement();
       String sql="update products set productid='"+id+"',"+category+"='type',"+name+"='name',"+producer+"='producer',"+price+"'price',"+descn+"'descript' where "+productid+"='"+id+"'";
       stmt.executeUpdate(sql);
        %>
       <br><br><br><br><br><br><br>
       <center> 
         <a href="goodmain.jsp" class="STYLE1"><span class="STYLE2 STYLE1">记录更新成功,返回</span>       </a>
                                               </center>
    </body>
    </html>
      

  4.   

    stmt.executeUpdate(sql);
    前面加一句out.println(sql)把sql打印出来看看
      

  5.   

    String sql="update products set productid='"+id+"',category='"+type+"',name='"+name+",producer='"+producer+"',price='"+price+"',descn='"+descript+"' where productid='"+id+"'";
      

  6.   

    结果是我复制粘贴时把form action=""里面的内容弄错了,我说怎么总是不对呢,呵呵
    刚才才发现
    真是粗心啊!
    嘿嘿