好的......这是我的代码,我不明白我的错误在哪里...我在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();
}
答案 0 :(得分:0)
1)我非常怀疑同一个查询在SQL控制台中有效,因为你缺少一个引号(至少)并且它会通过一个错误。如果您错过了,这意味着您不在控制台和代码中运行相同的查询...
2)在将值传递给SQL时,应始终使用参数