我在netbeans中得到42000 sql语法错误但是相同的查询字符串在mysql控制台中工作正常

时间:2014-03-14 14:25:46

标签: java mysql

好的......这是我的代码,我不明白我的错误在哪里...我在netbeans中得到42000错误我理解是一个sql语法错误但它在mysql中运行得很好控制台

 try
     {
         Class.forName("com.mysql.jdbc.Driver");

         Connection CC =         
         DriverManager.getConnection("jdbc:mysql://localhost:3306/pulsedb", "root", "carrizo");


String q1 = String.valueOf(jComboBox1.getSelectedItem()); 
         String ans1 = jTextField9.getText();

         String q2 = String.valueOf(jComboBox2.getSelectedItem());
         String ans2 = jTextField10.getText();

         String recovQA  = "INSERT INTO pulsedb.mstuffrecovery (recov_qsn,recov_ans)     VALUES('"+q1+"',"+ans1+"')";
         String recovQA2  = "INSERT INTO pulsedb.mstuffrecovery2 (recov_qsn2,recov_ans2) VALUES('"+q2+"',"+ans2+"')";


         PreparedStatement PQS = CC.prepareStatement(recovQA);
         PreparedStatement PQQ = CC.prepareStatement(recovQA2);


         PQS.executeUpdate(recovQA);
         PQQ.executeUpdate(recovQA2);


catch(SQLException e)
             {

                 System.out.println(e.getSQLState());
                 e.getMessage();
                 e.getErrorCode();
                 e.printStackTrace();

             }

1 个答案:

答案 0 :(得分:0)

1)我非常怀疑同一个查询在SQL控制台中有效,因为你缺少一个引号(至少)并且它会通过一个错误。如果您错过了,这意味着您在控制台和代码中运行相同的查询...
2)在将值传递给SQL时,应始终使用参数