作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有这个问题,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类:
尝试将状态变量声明为 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/
我完成了第 1 章的练习,现在转到第 2 章。我在进行第一个“DatabaseTest”练习,但在导入语句时出现错误: import com.lowagie.database.DatabaseConn
我有这个问题,eclipse 的快速修复建议我为这一行的语句添加一个强制转换: state=conex.createStatement(); 和此行的另一个声明: result= state.exec
我是一名优秀的程序员,十分优秀!