当前位置: 首页 > 面试题库 >

如何检查CachedRowSet中是否存在列名?

姚伟
2023-03-14
问题内容

我正在从可能更改的视图中查询数据。在执行操作之前,我需要知道该列是否存在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。

您提出的解决方案是否存在某些使您认为不正确的东西?对我来说似乎很简单…



 类似资料:
  • 问题内容: 有没有一种方法可以检查Pandas DataFrame中是否存在列? 假设我有以下DataFrame: 我想计算 但是首先我要检查是否存在,如果不存在,我要计算。 问题答案: 这将起作用: 但是为了清楚起见,我可能将其写为:

  • 我需要检查一列是否存在,如果不存在,请添加它。根据我的研究,sqlite似乎不支持是否应该使用语句和case语句。 以下是我目前掌握的情况: 但我得到了一个错误:接近“ALTER”:语法错误。 有什么想法吗?

  • 问题内容: 我试图用bash编写脚本来检查用户输入的有效性。 我想将输入(例如变量)与有效值列表进行匹配。 我目前想出的是: 我的问题是,是否有更简单的方法可以做到这一点, 就像大多数编程语言一样。 另外: 说的清单是: 我的代码将仅针对那些值回显该消息,因为将其视为数组而不是字符串,所有字符串操作都将验证,而我希望它失败。 问题答案: 或创建一个函数: 使用它:

  • 我需要验证表中是否已经存在列。我的类扩展了CustomTaskChange,因此我的方法接收一个数据库对象作为参数。我可以通过ResultSetObject进行我想要的验证吗?

  • 问题内容: 我目前正在处理我的付费应用程序中的特定问题。内部包含许可检查。黑客通过修改应用apk / jar对该应用进行了修补。他们正在添加一个新类,以帮助绕过许可检查。 我的目标是以某种方式检查此特定补丁。如果找到它,我知道我的应用程序已被盗用。 关于如何知道包装上的某些东西有任何提示吗? 在我看来,对应用程序进行哈希处理并不是一个真正的选择。 我认为也许检查此类是否存在会有所帮助,但是如果他们

  • 问题内容: 我正在通过.NET应用程序中的ODBC驱动程序连接到Hive。是否存在查询以确定表是否已存在? 例如,在MSSQL中,您可以查询表,而在Netezza中,您可以查询表。 任何援助将不胜感激。 问题答案: 您可以通过两种方法进行检查: 1.)如@dimamah所建议,只需在此处添加一点,对于这种方法,您需要 2.)第二种方法是使用HiveMetastoreClient API,您可以在其