gpt4 book ai didi

java - 如何解决com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : Table 'task4DB.tst' doesn't exist exceptions

转载 作者:行者123 更新时间:2023-12-01 00:01:09 26 4
gpt4 key购买 nike

我是一名学生,我尝试编写此代码以显示存储在“mysql”服务器上的数据库中的员工的名字,尽管该表存在,但我遇到了这些异常!! :

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 表 'task4DB.tst' 不存在 在 com.mysql.jdbc.SQLError.createSQLException (SQLError.java:936) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) 在 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) 在 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) 在 com.mysql.jdbc.Connection.execSQL(Connection.java:3283) 在 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332) 在 com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)

如何解决这些问题:( ??

public static void search() throws ClassNotFoundException, SQLException

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

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/task4DB?"
+ "user=root&password=123");

PreparedStatement st = con.prepareStatement("select * from tst");

ArrayList<String> fName = new ArrayList<String>();
ArrayList<String> lName = new ArrayList<String>();
ArrayList<Integer> ids = new ArrayList<Integer>();


ResultSet RS=st.executeQuery("select * from tst ");

loop1:
for(String s : fName )

{

while (RS.next()) {
fName.add(RS.getString("fName"));


}

for(int i=0;i<fName.size();i++ )

{
System.out.println(fName.get(i));

}

}

最佳答案

嗯,createStatement 不返回 PreparedStatment - 它返回一个 Statement。您需要将 SQL 传递给 prepareStatement 方法:

PreparedStatement st = con.prepareStatement("select * from tst");

然后:

ResultSet rs = st.executeQuery();

虽然您可以仍然调用采用 SQL 的 executeQuery 的重载,但通常不应该这样做。 (我认为让 PreparedStatement 扩展 Statement 可能是个错误。)

请注意,您还应该在 finally block 中关闭连接、语句和结果集。此外,我已重命名您的 RS 变量以在某种程度上遵循 Java 命名约定,尽管我可能只是将其称为 results 或类似名称。

此外,您的循环已中断 - fName 为空,因此循环遍历它毫无意义。你可能想要:

while (rs.next()) {
fName.add(rs.getString("fName"));
}

关于java - 如何解决com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : Table 'task4DB.tst' doesn't exist exceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170412/

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