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

前端之家收集整理的这篇文章主要介绍了java – 如何查看CachedRowSet中列名是否存在?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在查看可能会更改的视图中的数据.我需要知道在我做一个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.

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

猜你在找的Java相关文章