用Java语句判断数据库表是否存在
2007-07-24 16:40
363 查看
用Java语句判断数据库表是否存在
public boolean HasTable(String name) {//判断某一个表是否存在
boolean result = false;
try {
DatabaseMetaData meta = sqlConn.getMetaData();
ResultSet set = meta.getTables (null, null, name, null);
while (set.next()) {
result = true;
}
} catch (Exception eHasTable) {
System.err.println(eHasTable);
eHasTable.printStackTrace ();
}
return result;
}
刚刚被一个比较麻烦的问题所困扰。这个问题就是如何判断数据中某张表是否存在,如果不存在则创建它。
恩,我先用了最笨的方法,就是写个select从表中读数据,捕获异常的同时就知道了改表没有创建。
此法不通,因为这个时候的异常似乎被认定为了系统错误,于是后面创建表的代码被忽略了。
大部分人的做法类似于select system.table where tabblename='***',反正我曾经用类似的句子查询过DB2,是成功的。
但是,我现在面对的不是DB2,而是7个不同的数据库,基本上常用的都包括了。是不是每类数据库都有上面的查询语句呢?是否查询语句相似呢?于是我挑了hsqldb,也是当前的默认数据库,来寻找解决办法。
很遗憾,我没有找到类似前面的句子。正当我打算放弃的时候发现了下面的代码,这段代码是我从一个国外的论坛中找到的,尽管我不知道它是不是万能钥匙,但是他这次对我而言确成了万能的:
java.sql.Connection con = getYourConnection();
ResultSet rs = con.getMetaData().getTables(null, null, "yourTable", null );
if (rs.next()) }else //yourTable not exist
}
--
X-Spirit
相关文章推荐
- 用Java语句判断数据库表是否存在
- 用Java语句判断数据库表是否存在
- 用Java语句判断数据库表是否存在
- Android SQLite数据库判断某张表是否存在的语句
- 判断mysql指定数据库指定表是否存在的SQL语句
- [SQL,Java]判断某一个已知表名的表是否在数据库中存在的方法
- 转:mssql里判断数据库对象是否存在的语句
- SQL语句判断指定的数据库、表、字段、存储过程是否存在
- java根据表名判断数据库表是否存在
- JAVA代码判断数据库表是否存在
- SQL语句判断数据库、表、字段是否存在
- Java代码判断数据库中某张表是否存在
- Mysql+java后台判断数据库表是否存在
- SQL语句判断数据库、表、字段是否存在
- SQL语句判断数据库、表、字段是否存在
- 判断数据库中对象(表、视图等)是否存在的SQL语句
- mssql里判断数据库对象是否存在的语句
- SQL语句判断表 数据库 数据是否存在
- Java判断数据库结果集ResultSet 中是否存在指定列名
- JAVA判断数据表是否在数据库中存在的方法