从sqlite数据库中的列返回名称

时间:2016-10-31 19:15:57

标签: java sqlite

我正在尝试在java代码中执行sqlite查询,该代码将从sqlite表返回列名。我怎么能这样做?我只是设法从表中获取值而不是列的名称。

1 个答案:

答案 0 :(得分:2)

使用“select ... limit 0”查询获取元数据,然后使用ResultSetMetaData对象实际检索它。像这样:

List<String> sqliteTableColumns(Connection connection, String tableName) {
    List<String> columns = new ArrayList<>();
    String sql = "select * from " + tableName + " LIMIT 0";
    Statement statement = connection.createStatement();
    ResultSet rs = statement.executeQuery(sql);
    ResultSetMetaData mrs = rs.getMetaData();
    for(int i = 1; i <= mrs.getColumnCount(); i++) {
        columns.add(mrs.getColumnLabel(i));
    }
    return columns;
}