我有一个JDBC
代码,可以从数据库中检索数据并在运行时获取查询。在运行时,它将转到数据库并尝试获取数据并将其写入文件。如果表不存在,则表示未找到表。怎么办呢?
这里我不能用,
ResultSet rs = md.getTable()
我必须在运行时检查。
SQL示例:select * from table;
Preparedstatement和ResultSet,
在运行时,当上面的循环将迭代时,此表变量将获取表的名称。如果表不存在,那么它会在控制台上发出此异常。
如何顺利处理?
答案 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...)
。