0

SQL挿入を実行しようとしましたが、うまくいきません... 誰かが同じ問題を抱えていますか?

    java.sql.SQLException: General error
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
        at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
        at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
        at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
        at GuardadoExamenes.doGet(GuardadoExamenes.java:72)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)

これが私のコードです...問題はまさに「stmt.executeUpdate(SQL);」にあります。前の行を端末に出力するので。

    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection conexion = DriverManager.getConnection("jdbc:odbc:Clickers");
        Statement stmt = conexion.createStatement();

        @SuppressWarnings("rawtypes")
        Map m = req.getParameterMap();
        @SuppressWarnings("rawtypes")
        Set s = m.entrySet();
        @SuppressWarnings("rawtypes")
        Iterator it = s.iterator();

        while(it.hasNext()){

            @SuppressWarnings("unchecked")
            Map.Entry<String,String[]> entry = (Map.Entry<String,String[]>)it.next();

            String key = entry.getKey();
            String[] value = entry.getValue();

            System.out.println("Key is "+key);

            if(value.length>1){    
                for (int i = 0; i < value.length; i++) {
                    System.out.println(value[i].toString());
                }
            }else
                System.out.println("Value is "+ value[0].toString());
                System.out.println(" ");

            if (key.contains("answer")) {

            }
            else if (key.contains("pregunta")){
                String sql = "SELECT COUNT(*) AS cPregunta FROM Preguntas WHERE cAsignatura=" + cAsignatura + "AND cTema=" + cTest;
                ResultSet rs = stmt.executeQuery(sql);
                rs.next();
                int cPregunta = rs.getInt("cPregunta") + 1;
                System.out.println(cPregunta);

                String SQL = "INSERT INTO Preguntas (cAsignatura, cPregunta, cTema, Pregunta) VALUES (" + cAsignatura + ", " + cPregunta + ", " + cTest + ",'" + value[0].toString()+ "') ";
                stmt.executeUpdate(SQL);
            }

        }

    }catch(SQLException sqlException){
        sqlException.printStackTrace();
        System.out.println("");
    }catch(ClassNotFoundException classNotFoundException){
        classNotFoundException.printStackTrace();
        System.out.println("");
    }
4

1 に答える 1