如何检查java中的mysql错误

时间:2011-03-06 03:07:57

标签: java mysql jdbc

我正在尝试使用java在mysql中进行简单的插入查询。如果它没有按照预期的方式做什么,我如何确定问题是什么:

import java.util.*;
import java.sql.*;
import javax.swing.JOptionPane;

public class regp {

    public regp(String player, int score) {
        conc conclass = new conc();
        Connection conn = conclass.dbConnect();


        try {



            PreparedStatement fetchPlayers = conn.prepareStatement("SELECT * FROM players WHERE P_Name='" + player + "'");
            ResultSet rs = fetchPlayers.executeQuery();

            if (rs.next()) {
                JOptionPane.showMessageDialog(null, "Already Registered!");
            } else {


                PreparedStatement createPlayer = conn.prepareStatement("INSERT INTO players(P_Name, Score) VALUES('" + player + "', '" + score + "')");

                createPlayer.execute();




                JOptionPane.showMessageDialog(null, "Player: " + player + " score: " + score);


                JOptionPane.showMessageDialog(null, "Registration Successful!");

                JOptionPane.showMessageDialog(null, "Not registered!");



            }
        } catch (Exception e) {
        }

    }
}

继承人conc.java,其中包含数据库信息:

import java.sql.*;
import java.util.*;

public class conc {

    public conc(){
    }

       public Connection dbConnect() {
        try {
            String db_connect_string="jdbc:mysql://localhost:3306/questions";
            String db_userid="root";
            String db_password="1234";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);


            return conn;

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

问题是我不知道它的查询,准备好的语句声明。 肯定有一件事是有效的。检查玩家输入的部分是否存在。 我已经检查了函数是否通过使用joptionpane消息对话框输出它们来获取所需的值。它肯定会收到正确的值。所以我想可能问题出在查询中。

1 个答案:

答案 0 :(得分:2)

您可以打印在regp构造函数中捕获的异常:

} catch (Exception e) {
    e.printStackTrace();
}

您可能还希望查看预处理语句,而不是通过字符串连接构建SQL。