Java 在语句中找不到表

Java 在语句中找不到表,java,database,eclipse,odb,Java,Database,Eclipse,Odb,我得到的只是 Class.forName("org.hsqldb.jdbcDriver"); conn = DriverManager.getConnection("jdbc:hsqldb:file:Pokemondaten","sa",""); getData = conn.createStatement(); ResultSet rs = getData.executeQuery ("SELECT HP FROM PKMN WHERE ID = " + bas

我得到的只是

Class.forName("org.hsqldb.jdbcDriver");
    conn = DriverManager.getConnection("jdbc:hsqldb:file:Pokemondaten","sa","");
    getData = conn.createStatement();
    ResultSet rs = getData.executeQuery
    ("SELECT HP FROM PKMN WHERE ID = " + basicnumber); 
    int hpp = rs.getInt(1);
    System.out.println(hpp);
我的数据库名为
pokemonden
,我的表名为
PKMN
,我的表也在程序中继承


那么我做错了什么?我不明白。

我认为您需要在JDBC URL中提供数据库文件的完整路径:

DriverManager.getConnection(“jdbc:hsqldb:file:c:\mydir\pokemonden”、“sa”和“)

请尝试以下操作

java.sql.SQLException: Table not found in statement [SELECT HP FROM PKMN]
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
    at pokeWpRechner.Main.main(Main.java:46)

这将防止表定义丢失

检查您的表是否确实存在:
java.sql.SQLException:没有可用数据
这意味着我的数据库不在我希望的位置,不是吗?您在哪里创建表PKMN?它已经存在,内置OpenOffice Base,然后添加到程序中我试图避免的内容:(我希望DB top的位置灵活(程序所在的位置),但我会尝试让它运行anyways@Ekonion您应该能够从运行程序的位置获取当前路径,如下所示:
Paths.get(“.”)。toAbsolutionPath().normalize().toString()
然后您可以使用此字符串创建数据库文件的绝对路径。
java.sql.SQLException:没有可用的数据
conn = DriverManager.getConnection("jdbc:hsqldb:file:Pokemondaten;shutdown=true","sa","")