尝试使用JDBC连接到JavaDerby数据库
我有以下代码:尝试使用JDBC连接到JavaDerby数据库,java,jdbc,derby,Java,Jdbc,Derby,我有以下代码: Connection conn = null; Statement stmt = null; // MySQL connection details. String username = ("username"); String password = ("password"); String url = ("jdbc:derby://localhost:1527/OnlineLibrary"); try { /
Connection conn = null;
Statement stmt = null;
// MySQL connection details.
String username = ("username");
String password = ("password");
String url = ("jdbc:derby://localhost:1527/OnlineLibrary");
try {
// Connect to database.
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
conn = DriverManager.getConnection (url, username, password);
stmt = conn.createStatement();
// Get data.
String query = ("SELECT PersonNo, Forename, Surname FROM Person;");
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println("Person: no: " + rs.getInt("PersonNo") + " name: " + rs.getString("Forename") + " " + rs.getString("Surname"));
}
// Disconnect from database.
stmt.close();
conn.close();
}
catch(Exception ex) {
Java_Utils.printStackTrace("Error connecting to database", ex, true);
}
这给了我:
Error connecting to database
org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
org.apache.derby.client.am.Statement.executeQuery(Unknown Source)
misc.Simple_JDBC_Test.main(Simple_JDBC_Test.java:32)
我觉得一切都很好。我可以使用连接池连接到数据库,但我不理解上面的错误。@Morgan先生,使用PreparedStatement代替Statement,表示替换 ResultSet rs=stmt.executeQuery(查询)
与 ProblemStatement pStmt=dbConnection.prepareStatement(查询) 结果集r=pStmt.executeQuery()
完成此操作后,请显示您的输出 去除半色调在声明末尾签名:
String query = ("SELECT PersonNo, Forename, Surname FROM Person");
然后在OnLineLibrary数据库中直接执行相关查询,以检查其输出以及语法是否正确:
SELECT PersonNo, Forename, Surname FROM Person
第32行是
ResultSet rs=stmt.executeQuery(查询)代码>从不接受异常开始-捕获SQLException并查看它的错误消息是什么。SQL有一个;在没有必要的时候。但我必须使用更好的异常处理。您可以在此处找到一些简单的异常处理代码示例: