加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何查看CachedRowSet中列名是否存在?

发布时间:2020-12-14 05:39:24 所属栏目:Java 来源:网络整理
导读:我正在查看可能会更改的视图中的数据.我需要知道在我做一个crs.get ******()之前是否存在该列.我发现我可以查询这样的元数据,以便在请求数据之前查看一个列是否存在. ResultSetMetaData meta = crs.getMetaData();int numCol = meta.getColumnCount();for (i
我正在查看可能会更改的视图中的数据.我需要知道在我做一个crs.get ******()之前是否存在该列.我发现我可以查询这样的元数据,以便在请求数据之前查看一个列是否存在.
ResultSetMetaData meta = crs.getMetaData();
int numCol = meta.getColumnCount();

for (int i = 1; i < numCol+1; i++) 
    if(meta.getColumnName(i).equals("name"))
        return true;

有没有更简单的方法来检查列是否存在?

编辑:
它必须是数据库不可知的.这就是为什么我引用CachedRowSet而不是数据库.

解决方法

一般的JDBC API不是一个简单的方法(至少不是我所知道的,或者可以找到…我的本土工具集中有完全相同的代码.)

(您的代码不完整):

ResultSetMetaData meta = crs.getMetaData();
 int numCol = meta.getColumnCount();

for (int i = 1; i < numCol+1; i++) 
{
    if(meta.getColumnName(i).equals("name"))
    {return true;}

}
return false;

话虽如此,如果您使用专有的,特定于数据库的API和/或SQL查询,我相信您可以找到更优雅的方式来做同样的事情…但是您必须为每个数据库编写自定义代码需要处理.如果我是你,我会坚持使用JDBC API.

有什么关于你提出的解决方案,让你认为这是不正确的吗?对我来说似乎很简单

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读