以下是我增加产品的源代码,不知道为什么不能向数据库添加产品,可是我一点确定后说商品添加成功!!!!可是数据库中却是没有的!为什么会这样?帮帮忙吧,我的作业快交了!
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*" %>
<%@ page import="java.lang.Math.*" %>
<jsp:useBean id="conn" scope="page" class="myshopdb.conn"/>
<%!
String id = "";
String name = "";
String name1 = "";
String price = "";
String home = "";
String date = "";
int currid = 1;
int num=0;
String sql = "";
ResultSet rsTmp = null;
%>
<%
rsTmp = conn.executeQuery( "select max(id) as maxid from goods" );
if(rsTmp.next()) currid = rsTmp.getInt("maxid") + 1;
rsTmp.close();
request.setCharacterEncoding("GBK");
if(request.getParameter("name")!=null)     name   = request.getParameter("name");
if(request.getParameter("price")!=null)    price  = request.getParameter("price");
if(request.getParameter("home")!=null)     home   = request.getParameter("home");
if(request.getParameter("date")!=null)     date   = request.getParameter("date");  
if(request.getParameter("num")!=null)      num    = Integer.parseInt(request.getParameter("num"));
if(request.getParameter("name")!=null) {
    sql =  "insert into goods values ('"+name+"','"+price+"','"+home+"'date(),'"+date+"'int(),'"+num+"')";
        conn.executeUpdate( sql );
out.println("<hr>");
out.println("<h2>商品添加成功!</h2>");
out.println("<hr>");
}else {
out.println("<hr>");
        out.println("<h2>请输入正确的商品信息后再进行录入!</h2>");
out.println("<hr>");
}
%>
<form name=form1 method="post" action="add.jsp">
  <input value="<%=id%>" type=hidden name=id>
  <P align="center">产品名称:<input type="text" name="name" value=""></P>
  <P align="center">产品价格(元):<input type="text" name="price" value=""></P>
  <P align="center">产品厂家:<input type="text" name="home" value=""></p>
  <p align="center">出产时间:<input type="text" name="date" value=""></p>
  <p align="center">产品数量:
    <input type="text" name="num" value="">
  </p>   
  <div align="center">
    <input  class=buttonface type=submit value=" 确 定 ">
    <input  class=buttonface type=reset value=" 清 除 ">
     </div>
</form>
        <P align="right"><a href="manage.jsp">编辑商品</a> <a href="index.jsp">返回首页</a>
</BODY>
</HTML>

解决方案 »

  1.   

    if(request.getParameter("name")!=null) {这是你的判断条件,也就是说,只要name字段填了,不管是否插入数据库,页面都会显示添加成功
      

  2.   

    那要全部判断吗?
    if(request.getParameter("name")!=null&&request.getParameter("price")!=null&&request.getParameter("home")!=null&&request.getParameter("date")!=null&&request.getParameter("num")!=null) {
    这样?
      

  3.   

    sql = "insert into goods values ('"+name+"','"+price+"','"+home+"'date(),'"+date+"'int(),'"+num+"')";
    conn.executeUpdate( sql );怎么没插入你生成的id?
      

  4.   

    ID是自动增加的类型,我原来是这样
    sql = "insert into goods values ("+currid+"','"+name+"','"+price+"','"+home+"'date(),'"+date+"'int(),'"+num+"')";
    这样也不行!也是一样
      

  5.   

    既然id是自动生成,sql语句应该这么写insert into goods(name, price, home, date, num) values(name, price, home, date, num);
      

  6.   

    sql =  "insert into goods(name, price, home, date, num) values("+name+"','"+ price"','"+ home"','"+ date"', '"+num+")";
    也不行
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 17 in the jsp file: /CCA/add.jsp
    Generated servlet error:
    Syntax error on token "name", delete this tokenAn error occurred at line: 17 in the jsp file: /CCA/add.jsp
    Generated servlet error:
    Syntax error on token ""','"", delete this tokenAn error occurred at line: 17 in the jsp file: /CCA/add.jsp
    Generated servlet error:
    Syntax error on token ""','"", delete this tokenAn error occurred at line: 17 in the jsp file: /CCA/add.jsp
    Generated servlet error:
    Syntax error on token ""', '"", delete this token
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
      

  7.   

    哦对了我的数据库表中还有最后一列name3,数值跟name一样,只是列名改了而已,会不会有影响?
      

  8.   

    jsp编译没通过页面中有语法错误,自己查一查
    比赛开始了!!
      

  9.   

    是这个
    sql =  "insert into goods(name, price, home, date, num) values("+name+"','"+ price+"','"+ home+"','"+ date+"', '"+num+")";
    忘记了加号!呵呵
    加了加号后问题还是一样,显示添加成功!
      

  10.   

    刚才忘记加号了 ,不好意思啊&&
    可是加了加号后还是一样,显示添加成功,却没有产品添加到数据库中!