【发布时间】:2015-04-05 07:43:17
【问题描述】:
我想从特定数据库中检索所有表名。我尝试了以下代码
try {
DatabaseMetaData dbmd = connection.getMetaData();
String[] types = {"TABLE"};
ResultSet rs = dbmd.getTables(null, null, "%", types);
while (rs.next()) {
System.out.println(rs.getString("TABLE_NAME"));
}
} catch (SQLException e) {
e.printStackTrace();
}
但它给出了空指针异常。
【问题讨论】:
-
准确地说是 WHERE 是否给出了空指针异常?
-
确切地说是哪个您使用的是 RDBMS?
-
嗯,我不确定我之前是否问过这个问题:它究竟在哪里给出了空指针异常?
-
在摇摆中单击按钮我正在数据库中创建表。在构造函数中,我试图获取添加到数据库中的表名。执行后我得到空指针异常,但在添加 DriverManager.getConnection("jdbc:sqlite:testdata.db");在构造函数中,我得到了输出。
-
好的,下次您将通过准确解释问题所在来节省自己和其他人的大量时间。在这种情况下,“WHERE”表示“在哪一行”。所以,我想在你的情况下,
connection.getMetaData()抛出了异常。谁会想到这一点。