如何检查 ResultSet 是否包含特定命名的字段?

发布于 2024-09-27 18:49:35 字数 61 浏览 5 评论 0原文

拥有 java.sql.ResultSet 实例 rs ,如何检查它是否包含名为“theColumn”的列?

Having rs, an instance of java.sql.ResultSet, how to check that it contains a column named "theColumn"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

请恋爱 2024-10-04 18:49:35

您可以使用 ResultSetMetaData 迭代 ResultSet 列并查看列名称是否与您指定的列名称匹配。

例子:

ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();

// get the column names; column indexes start from 1
for (int i = 1; i < numberOfColumns + 1; i++) {
    String columnName = rsMetaData.getColumnName(i);
    // Get the name of the column's table name
    if ("theColumn".equals(columnName)) {
        System.out.println("Bingo!");
    }
}

You can use ResultSetMetaData to iterate through the ResultSet columns and see if the column name matches your specified column name.

Example:

ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();

// get the column names; column indexes start from 1
for (int i = 1; i < numberOfColumns + 1; i++) {
    String columnName = rsMetaData.getColumnName(i);
    // Get the name of the column's table name
    if ("theColumn".equals(columnName)) {
        System.out.println("Bingo!");
    }
}
动次打次papapa 2024-10-04 18:49:35

尝试使用方法 结果集#findColumn(字符串)

private boolean isThere(ResultSet rs, String column)
{
  try
  {
    rs.findColumn(column);
    return true;
  } catch (SQLException sqlex)
  {
    logger.debug("column doesn't exist {}", column);
  }
  return false;
}

Try using the method ResultSet#findColumn(String)

private boolean isThere(ResultSet rs, String column)
{
  try
  {
    rs.findColumn(column);
    return true;
  } catch (SQLException sqlex)
  {
    logger.debug("column doesn't exist {}", column);
  }
  return false;
}
就是爱搞怪 2024-10-04 18:49:35

您可以执行以下操作:

rs.findColumn("theColum")

并检查 SQLException

You can do:

rs.findColumn("theColum")

and check for SQLException

浅笑轻吟梦一曲 2024-10-04 18:49:35

使用ResultSetMetaData类。

public static boolean hasColumn(ResultSet rs, String columnName) throws SQLException {
    ResultSetMetaData rsmd = rs.getMetaData();
    int columns = rsmd.getColumnCount();
    for (int x = 1; x <= columns; x++) {
        if (columnName.equals(rsmd.getColumnName(x))) {
            return true;
        }
    }
    return false;
}

Use the ResultSetMetaData class.

public static boolean hasColumn(ResultSet rs, String columnName) throws SQLException {
    ResultSetMetaData rsmd = rs.getMetaData();
    int columns = rsmd.getColumnCount();
    for (int x = 1; x <= columns; x++) {
        if (columnName.equals(rsmd.getColumnName(x))) {
            return true;
        }
    }
    return false;
}
黯然 2024-10-04 18:49:35

使用 提供的 ResultSetMetaData 对象>ResultSet 对象通过 rs.getMetaData()

Use the ResultSetMetaData object provided by the ResultSet object via rs.getMetaData()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文