String sql="insert into table1("+id+",'"+ProductID+"','"+ProductName+"')";
 productIn.executeUpdate(sql);

解决方案 »

  1.   

    这样不用commit可以自动提交吗?
      

  2.   

    我试了,String sql="insert into table1("+id+",'"+ProductID+"','"+ProductName+"')";
    jsp 网页没有错误提示信息。我打开数据库,刷新看一下,但发现并没有插入值。还有一个问题就是当我刷新页面的时候,变量i会成倍的加。
      

  3.   

    这句
    <%! String sql="insert into table1(10,‘m100’,‘light’);%>  //问题发生处!
    <% productIn.executeInsert(sql)%>
    是不是应该为:
    <%! String sql="insert into table1 values(10,‘m100’,‘light’);%>  //问题发生处!
    <% productIn.executeUpdate(sql)%>
      

  4.   

    是应该这样,我打错了
    <%! String sql="insert into table1 values(10,‘m100’,‘light’);%>  //问题发生处!
    <% productIn.executeUpdate(sql)%>
      

  5.   

    表面确实没看出错误换方法试试吧,
    sql="insert into table1(fieldd1,field2,field3) values(val1,val2,val3)";
    把字段都写上看看,
    还有就是你提交之后最好转向sendRedirect或者javascript提示成功然后返回,
    要不然刷新当然重新执行一遍自然i会成倍增加了!
      

  6.   

    顶,在取参数的时候应该进行格式转化:
    ProducID = (String)request.getParameter("ID");
    ProductName = (String)request.getParameter("Name");
      

  7.   

    <%! String sql="insert into table1(id,productID,productName) values(13,'mz101b','clock')";%>
    <% productIn.executeUpdate(sql)%>
    可以插入数据库。
    但变量值插入就不行。
    <%! String sql="insert into table1(id,productID,productName) values("+id+",'"+ProductID+"','"+ProductName+"')";%>
    <% productIn.executeUpdate(sql)%>
    改为这样后,网页没有也没有错误提示。但数据库没有插入值。
      

  8.   

    StringBuffer sql=new StringBuffer();
    sql.append("insert into table1(id,productID,productName)");
    sql.append("values('"+id+"','"+productID+"','"+productName+"')");
    productIn.executeUpdate(sql.toString());
      

  9.   

    刚才看错了,如果你取到的productName的字符长度超出数据库字段的长度会出现这个问题
      

  10.   

    我有<%= %>语句显示所有的参数,表明获得参数正确。
    单引号也是英文的。
    字符长度也小于数据库设定的长度。我更改下面的语句,看看只用一个变量id,能不能插入,发现还是不能,也没有错误提示。
    <%! String sql="insert into table1 values("+id+",‘m100’,‘light’)";%>  
    <% productIn.executeUpdate(sql)%>
      

  11.   

    <%
    String sql="insert into table1 values(?,?,?);
    productIn = connection.prepareStatement(SQL);
    productIn.setString(1, i);
    productIn.setString(2, ProductID);
    productIn.setString(3, ProductName);
    productIn.executeQuery();
    %>
    这个土方法总应该可以吧?
      

  12.   

    为了解决问题,找出问题的出处,我重新设计了表,和jsp程序,作了很多简化。具体如下:
    数据表(userTable)设计:
    名称 数据类型 大小 空
    UserID int 4 否
    UserName char 20 否
    userPass char 20 否jsp程序如下:
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <jsp:useBean id="productIn" scope="page" class="water.productInCheck.ProductInCheck"/>               //javaBean
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <% productIn.connectDatabase("jdbc:odbc:water","sa","eradicate");  //数据库链接
       ResultSet rs = productIn.executeQuery("select * from userTable");
       int i=0;
       while(rs.next()){i++;}                                          //返回表的行数
       rs.close();
    %>
    <%! int userID=100;String userName="laoda",userPass="eradicate",sql; %>//设置变量
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>用户登记</title>
    </head>
    <body>
    i=<%= i %><br>
    <% sql="insert into userTable(UserID,UserName,UserPass) values("+i+",'"+userName+"','"+userPass+"')"; 
       productIn.executeInsert(sql);                                       //插入数据
    %>
    </body>
    </html>很奇怪这次就成功把数据插入到数据库
    我不知道我错在哪里!!!!!!!!!!!
      

  13.   

    你看看你最早的原码中哪有ID这个变量?
    引用你的话:
    我更改下面的语句,看看只用一个变量id,能不能插入,发现还是不能,也没有错误提示。
    <%! String sql="insert into table1 values("+id+",‘m100’,‘light’)";%>  
    <% productIn.executeUpdate(sql)%>如果你换成下面的话呢?
    <%! String sql="insert into table1 values(13,'"+ProductID+"',‘light’)";%>  
    <% productIn.executeUpdate(sql)%>