gpt4 book ai didi

java - 无法到达数据库创建语句

转载 作者:行者123 更新时间:2023-11-29 05:31:53 24 4
gpt4 key购买 nike

你好,我有这个类,它包含一个 actionPerformed 来执行一个查询,它看起来像这样

    MysqlConnect db = new MysqlConnect();

@Override
public void actionPerformed(ActionEvent e) {

if(e.getSource() == openKnop) {

try {

db.connectToAndQueryDatabase("test", "root", "root");
System.out.println("connection established");

Statement st = db.createStatement();
String query = "SELECT id, name, job_id, location FROM person WHERE name = 'Tom Swift'";
st.executeQuery(query);

System.out.println("Selected query succesfull");


} catch (SQLException e1) {
e1.printStackTrace();
}
finally {
db.closeCon();
System.out.println("connection closed");
}
}

和我的 MysqlConnect();类看起来像这样

    public class MysqlConnect{

protected Connection con;

public void connectToAndQueryDatabase(String database, String username, String password) throws SQLException {
con = null;
try {
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/" + database,
username,
password);
} catch (SQLException e) {
e.printStackTrace();
}
}

public void closeCon() {
con = null;
}
}

但是问题出在行上

Statement st = db.createStatement();

它并没有像我预期的那样工作。我收到一个未定义的错误。我该如何解决?

最佳答案

错误表明 db 对“MysqlConnect”的引用没有 createStatement 方法。你需要一个连接对象。使您的 connectToAndQueryDatabase 返回 Connection 对象

 public Connection connectToAndQueryDatabase(String database, String username, String password) throws SQLException {
//your code

return con;
}

和:

Connection conn = db.connectToAndQueryDatabase("test", "root", "root");
System.out.println("connection established");

Statement st = conn.createStatement();
String query = "SELECT id, name, job_id, location FROM person WHERE name = 'Tom Swift'";
st.executeQuery(query);

关于java - 无法到达数据库创建语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032274/

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