我试图找出这段代码在哪里有问题。
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:STUDENTS.db");
Statement stat = conn.createStatement();
//ResultSet rs = stat.executeQuery("select * from tabulka_faktov");
ResultSet rs = stat.executeQuery("SELECT tabulka_faktov.MENO, tabulka_faktov.PREDMET1, tabulka_faktov.PREDMET2 FROM tabulka_faktov " +
"INNER JOIN meno_ID ON tabulka_faktov.MENO = meno_ID.MENO");
while (rs.next()) {
System.out.println(rs.getString("MENO"));
System.out.println("predmet 1 = " + rs.getString("PREDMET1"));
System.out.println("predmet 2 = " + rs.getString("PREDMET2"));
//System.out.println("volitelny = " + rs.getString("VOLITELNY_PREDMET"));
}
rs.close();
conn.close();
}
它没有返回错误,但是从此代码中我什么也没得到,只是进程以退出代码0结束。
我正在使用SQLite数据库
你们能告诉我哪里有错误吗?
谢谢
答案 0 :(得分:1)
没有错误的事实意味着代码成功运行。 因此,可能没有符合您查询条件的结果。
尝试在数据库管理系统中执行查询。
答案 1 :(得分:0)
规则是:
INNER JOIN关键字选择在其中具有匹配值的记录 两个表。
您的tabulka_faktov
表具有类型MENO
和
的列integer
meno_id
表具有类型MENO
的列text
。
它们的值如何匹配?
如果这不会破坏数据库中的任何规则,请将MENO
中tabulka_faktov
的数据类型更改为text
,然后重试。
答案 2 :(得分:0)
“ rs.getString()”和“ luts”“ rs.getNString()”