我想做个向数据库提交注册数据的简单jsp
zhuce.jsp<body>
   如果您还没有注册,请注册:
  <form method=get action="insert.jsp">
  <h4>请输入您要注册的账号:<input type=text size=10 name=zhucezhanghao><br>
  <h4>请输入您的密码:<input type=password size=10 name=zhucemima><br>
  <input type=submit value="注册" name=>
  </body>然后转到insert.jsp<body> 
   <% 
 String a=request.getParameter("zhucezhanghao");
   String b=request.getParameter("zhucemima");
   int m=Integer.parseInt(a);
  int n=Integer.parseInt(b);
    ResultSet rs=null;
   Connection con=null;
   // Statement stmt=null;
   Statement stmt=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
   String url="jdbc:oracle:thin:@192.168.1.135:1521:EVALUATE";
   
   String uid="testdb";
   String pwd="test";
  con= DriverManager.getConnection(url,uid,pwd);   
   stmt=con.createStatement();
   String sql="  insert into zhanghaoguanli values(m,n)"; 
  
   
   rs=stmt.executeQuery(sql);    }catch(Exception e){
   e.printStackTrace();
   }finally{
        
    stmt.close();   
    con.close(); 
     rs.close(); 
   }   %>
  </body>意思就是从zhuce.jsp输入一个账号和密码,然后就插到一个叫zhanghaoguanli的数据库中,数据库中有2个字段,zhanghao和mima都是int型有错误,
谁能帮我看一下,谢谢

解决方案 »

  1.   

    String sql="  insert into zhanghaoguanli values(m,n)";  
    改成:
    String sql="  insert into zhanghaoguanli values("+m+","+n+")";  
    你的账号和密码只能是 int 类型不晓得你是不是刻意这样设计的。
      

  2.   

    // 建议这么写! Connection conn = DriverManager.getConnection(
                    "",
                    "",
                    "");
                int m = 1;
                int n = 2;
    PreparedStatement p = conn.prepareStatement("insert into        zhanghaoguanli values(?,?)");
                p.setInt(
                    1,
                    m);
                p.setInt(
                    1,
                    n);
                int i = p.executeUpdate();
      

  3.   

    我用PreparedStatement做出来了。呵呵,谢谢楼上。恩,是当时定义的疏忽。