尝试使用JDBC连接到Java Derby数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试使用JDBC连接到Java Derby数据库相关的知识,希望对你有一定的参考价值。
我有以下代码:
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)
一切似乎都对我好。我可以使用连接池连接到数据库,但我不明白上述错误。
答案
@Mr Morgan, 使用PreparedStatement而不是Statement,表示替换
ResultSet rs = stmt.executeQuery(query); 同
问题陈述p Stmt = dbConnection.prepareStatement(query);
ResultSet r = pStmt.executeQuery();
这之后请显示你的输出!
另一答案
删除分号;在你的陈述结束时签字:
String query = ("SELECT PersonNo, Forename, Surname FROM Person");
然后直接在OnLine Library数据库中执行相关查询以检查其输出以及语法是否正确:
SELECT PersonNo, Forename, Surname FROM Person
以上是关于尝试使用JDBC连接到Java Derby数据库的主要内容,如果未能解决你的问题,请参考以下文章