gpt4 book ai didi

java - 如何在java中检查mysql错误

转载 作者:行者123 更新时间:2023-11-29 09:12:23 24 4
gpt4 key购买 nike

我正在尝试使用 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 消息对话框输出来获取所需的值。它肯定会收到正确的值。所以我想问题可能出在查询中。

最佳答案

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

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

您可能还想查看准备好的语句,而不是通过字符串连接构建 SQL。

关于java - 如何在java中检查mysql错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5208401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com