我试图显示数据库中的电影标题,问题是如果我调用rs.getString()
方法,它总是返回null
。数据库表正确配置为一列/两行,并连接到java应用程序,所以我不知道问题出在哪里。
这是我的类,我从主函数调用:
import java.sql.*;
public class Driver {
public Driver() {
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
// DriverManager.registerDriver(new org.sqlite.JDBC());
c = DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Movies");
rs.next();
System.out.println(rs.getString("title")); // <---- prints null
stmt.close();
c.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
1条答案
按热度按时间x6h2sr281#
有三件事看起来很奇怪:
1.您甚至在rs.next使用第一个结果集之前就使用了www.example.com()。
1.它不在循环中,这意味着无论有多少行,您都只能得到第一个结果
1.你在一个字符串中返回它(getString),所以我不认为它会正确地返回它。