【问题标题】:How to fetch database table column names in java如何在java中获取数据库表列名
【发布时间】:2019-06-14 11:32:29
【问题描述】:

我需要在 java 中显示表中的所有列。到目前为止,我已经尝试过 resultSet java 对象,但它对我不起作用

public class dbtest {

    public static Session session = null;

    public ArrayList < String > ColValue() throws IOException {
        // TODO Auto-generated method stub

        FileReader reader = new FileReader("Configuration\\Config.properties");

        Properties p = new Properties();
        p.load(reader);

        String serverIp = p.getProperty("ServerIp");
        String keyspace = p.getProperty("ServerPwd");

        Cluster cluster = Cluster.builder().addContactPoints(serverIp).withCredentials("user", "password").build();
        session = cluster.connect(server);
        String query = null;
        String cqlStatement = "select * from table_name";

        ArrayList < String > casVal1 = new ArrayList < >();
        for (Row row: session.execute(cqlStatement)) {
            if (!casVal1.contains(query)) {
                casVal1.add(query);
            }
        }
        System.out.println(casVal1.size());
        System.out.println(casVal1);

        return (casVal1);
    }
}

需要结果中的所有列作为结果。

【问题讨论】:

  • 您确定您提供了您在问题中提到的正确代码吗?我没有看到 resultSet 的用法
  • 是的,但它不起作用
  • @Dhanraj 他使用的不是 JDBC,而是 DataStax Cassandra Driver
  • 哦是的..对不起..我误会了
  • 如果不是JDBC,请在问题的正文和标题中明确说明。问题和 cmets 使这很不清楚。

标签: java database columnname


【解决方案1】:

您可以通过ResultSet.getColumnDefinitions方法获取该列

com.datastax.driver.core.ResultSet result = xxxxx;

for (Definition definition : result.getColumnDefinitions()) {
    String name = definition.getName();
}

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2013-10-16
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 2011-08-06
    相关资源
    最近更新 更多