检查数据库中是否存在表

时间:2017-11-13 03:42:10

标签: java jsp jdbc

我有一个JDBC代码,可以从数据库中检索数据并在运行时获取查询。在运行时,它将转到数据库并尝试获取数据并将其写入文件。如果表不存在,则表示未找到表。怎么办呢?

这里我不能用,

ResultSet rs = md.getTable() 

我必须在运行时检查。

SQL示例:select * from table; Preparedstatement和ResultSet,

在运行时,当上面的循环将迭代时,此表变量将获取表的名称。如果表不存在,那么它会在控制台上发出此异常。

如何顺利处理?

2 个答案:

答案 0 :(得分:0)

如果您不想要该异常,首先应检查数据库中有哪些表。如果表格不存在,您可以创建并避免该异常。

DatabaseMetaData dbm = con.getMetaData();
ResultSet tables = dbm.getTables(null, null, "your_table_name", null);
if (tables.next()) {
  // Table exists
}
else {
  // Table does not exist
}

如果表不存在,您可能需要创建一个新表以避免以后出现此类异常。

答案 1 :(得分:0)

如果您只想确定在创建新的hsqlDB之前可以使用CREATE TABLE IF NOT EXISTS newTable (column details...)