我100%确信我的连接名称是正确的,"智能数据库";是存在该代码的包;SmartData";是我在NetBeansIDE8.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();
}
}
}
您的smartdatabase
包中可能有一个名为Connection
的类。使用此类而不是java.sql.Connection
默认情况下,编译器从同一个包解析Connection
。
尝试重命名该类或使用完全限定名称(java.sql.Connection
(,而不是仅使用Connection:
private java.sql.Connection conn = null;