gpt4 book ai didi

java - 无法从 java.sql.Statement 转换为 DataBaseConnection.Statement

转载 作者:搜寻专家 更新时间:2023-10-30 23:10:31 25 4
gpt4 key购买 nike

我有这个问题,eclipse 的快速修复建议我为这一行的语句添加一个强制转换:

state=conex.createStatement();

和此行的另一个声明:

result= state.executeQuery("SELECT * FROM itshop.products");

在输出中我没有收到任何东西,当我进行转换时错误消失了,但是我没有任何输出。你能检查我是否正确连接到我的 mysql 数据库吗?

代码:

import java.sql.*;

public class Statement {

public static void main(String[] args) {
Connection conex=null;
Statement state=null;
ResultSet result=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
conex=DriverManager.getConnection("jdbc:mysql://localhost:3306/itshop","user","pass");
}
catch(Exception e){
e.printStackTrace();
}
try
{
System.out.println();
state=conex.createStatement();
result= state.executeQuery("SELECT * FROM itshop.products");
result.next();
int RowCount=result.getRow();
System.out.println("Rows Number Are:"+RowCount);
}
catch(Exception e){
e.printStackTrace();
}

}
}

当我没有为上面的行进行转换时显示错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Type mismatch: cannot convert from java.sql.Statement to DataBaseConnection.Statement
The method executeQuery(String) is undefined for the type Statement

at DataBaseConnection.Statement.main(Statement.java:22)

最佳答案

问题是您的类(class)名称。有两个Statement类:

  1. java.sql.语句
  2. DataBaseConnection.Statement

尝试将状态变量声明为 java.sql.Statement 类型:

public class Statement {

public static void main(String[] args) {
Connection conex=null;
java.sql.Statement state=null;
ResultSet result=null;
....
....
}
}

否则将您的类重命名为 Statement 以外的名称

关于java - 无法从 java.sql.Statement 转换为 DataBaseConnection.Statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21063652/

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