如何解决“ java.lang.ClassCastException:org.apache.derby.client.net.NetConnection无法转换为smartdatabase.Connection”有人知道为什么吗?
我100%确定连接名称正确,“ smartdatabase”是该代码所在的包,“ SmartData”是我在NetBeans IDE 8.2中的嵌入式数据库(我相信它是Derby数据库)。
package smartdatabase;
import java.sql.*;
import org.apache.derby.jdbc.EmbeddedDriver;
public class Connection {
private Connection conn = null;
private Statement stmt = null;
public Connection() {
}
public void getStudents() {
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
conn = (Connection)
DriverManager.getConnection("jdbc:derby://localhost:1527/SmartData;create=true;","root","The
password");
` `String sql;
sql = "SELECT Firstname,Surname FROM tblStudents";
ResultS``et rs = stmt.executeQuery(sql);
while (rs.next()) {
String Firstname = rs.getString("FirstName");
String Surname = rs.getString("Surname");
System.out.println(Firstname + " " + Surname);
}
} catch (SQLException se) {
se.printStackTrace();
} catch (`Exception e) {
e.printStackTrace();
}
}
}
解决方法
您的Connection
包中可能有一个名为smartdatabase
的类。
使用此类而不是java.sql.Connection
默认情况下,编译器从同一程序包解析Connection
。
尝试重命名该类或使用完全限定的名称(java.sql.Connection
)而不是仅使用Connection:
private java.sql.Connection conn = null;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。