我正在尝试在java代码中执行sqlite查询,该代码将从sqlite表返回列名。我怎么能这样做?我只是设法从表中获取值而不是列的名称。
答案 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;
}