复选框从数据库中选择并删除

时间:2016-04-30 17:27:32

标签: java servlets jdbc checkbox

我的表单中有多个复选框和按钮。当我选择一个或多个复选框并按下按钮时,我保存了数据库中的所有值。

现在我需要选择数据库中的值和复选框必须仅检查数据库中的值,并且在未选中时我必须从数据库中删除数据,并且必须取消选中页面重新加载后复选框。 我怎么能简单地写这段代码?

我在java servlet类中输入数据库及其工作原理。

谢谢。

//checkbox from form 

     "<td><span>checkbox:</span><input class='chxActivate' type='checkbox' id='ID_"+p.getID()+"' name='ID_"+p.getID()+"' value='1'></td>"



//servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    Connection c = null;
    Statement stmt = null;

    Set<String> parameterNames = request.getParameterMap().keySet();
    for (String string : parameterNames) {
        System.out.println(string);
    }

    Enumeration<String> en = request.getParameterNames(); 
    Integer tmpsnlid = null;
    String auxStr = "";

    while (en.hasMoreElements()) {
        auxStr = (String) en.nextElement();
        if (auxStr.startsWith("ID_")){
                tmpsnlid = Integer.parseInt(auxStr.substring(6));   
                System.out.println("V2) Checkbox postavljen: "+tmpsnlid);
                try {
                      Class.forName("org.postgresql.Driver");
                      c = DriverManager.getConnection("jdbc:postgresql://database", "user","pass");
                      c.setAutoCommit(false);
                      System.out.println("Opened database successfully");
                      stmt = c.createStatement();
                      String sql = "INSERT INTO database(id, active, username)" +
                                   "VALUES ('"+tmpsnlid+"', 't','kavusladnin');"; 
                      stmt.executeUpdate(sql);
                      stmt.close();
                      c.commit();
                      c.close();
                    } catch ( Exception e ) {
                      System.err.println( e.getClass().getName()+ ": " + e.getMessage() );
                      System.exit(0);
                    }
                    System.out.println("INSERT - Records created successfully");

        }
    }

0 个答案:

没有答案