try {
Connection con;
con = DriverManager.getConnection("jdbc:derby:C:/Users/family/.netbeans-derby/MyDatabase;create=true");
System.out.println("Id");
PreparedStatement stmt;
stmt = con.prepareStatement("Select * from PERSON;");
ResultSet rs=stmt.executeQuery();
while(rs.next())
{
String id=rs.getString(String.valueOf("ID"));
String name=rs.getString("NAME");
System.out.println(id);
System.out.println(name);
}
}catch (SQLException err) {
System.out.println(err.getMessage()+ "No matching word in database");
}
嗨,我是java derby的新手。我已经阅读了关于在netbeans中连接derby数据库(嵌入式)的论坛,但我仍然没有找到解决方案。我已经在库中添加了derby.jar和derbyclient.jar,但错误仍然是这样的,有人可以帮我修复这个错误:
错误代码:
无法使用类加载器sun.misc.Launcher$AppClassLoader@1a7bf11启动数据库'C:/Users/family/.netbeans-derby/fine',有关详细信息,请参阅下一个异常。数据库中没有匹配的单词
希望有人会回答我的问题,谢谢...... !!
答案 0 :(得分:0)
首先,我认为你混淆了prepareStatement与Statment的使用 看看这个链接,你就可以了解如何学习更多知识。 Difference between Statement and PreparedStatement
其次,使用SQL查询,您无法使用prepareStatment。如果我理解你想要做什么,你的SQL查询应该是这样的。
String sql =“从PERSON WHERE Id =?中选择*”;
关于您的SQL查询的另一个问题不是要了解您使用的shcema。因为PERSON在这里没有意义,它应该像APP.PERSON
尝试查看本教程,了解如何在JDBC中使用perparStatment http://www.mkyong.com/jdbc/jdbc-preparedstatement-example-batch-update/
第三,我有一个关于我应该在哪里创建数据库的问题,所以我建议你在项目文件夹的一侧创建它。 提示,在getConncetion中使用相对路径
最后,你需要进行更多的研究,因为你弄错了。 祝你好运