Java 结果集元数据。getcolumnname

Java 结果集元数据。getcolumnname,java,jdbc,Java,Jdbc,我正在尝试获取结果集的所有字段/列名。代码已粘贴在下面。它返回一个错误[不支持游标类型/并发组合] SQL = dbConnectionSQLServer.getCN().prepareStatement("Select * From Coa32"); RS = SQL.executeQuery(); ResultSetMetaData metaData = RS.getMetaData(); //Generate tab

我正在尝试获取结果集的所有字段/列名。代码已粘贴在下面。它返回一个错误[不支持游标类型/并发组合]

SQL = dbConnectionSQLServer.getCN().prepareStatement("Select * From Coa32");
            RS = SQL.executeQuery();
            ResultSetMetaData metaData = RS.getMetaData();

            //Generate table header.
            for (int j = 0; j < RS.getMetaData().getColumnCount(); j++) {
//                System.out.println("Colum Count : " + metaData.getColumnCount() + ", Column Name (1) : " + metaData.getCatalogName(j));
                tableHeaderNames.add(new ColumnModel("header "+j, " col:"+ metaData.getColumnName(j)));


   }
SQL=dbConnectionSQLServer.getCN().prepareStatement(“从Coa32中选择*);
RS=SQL.executeQuery();
ResultSetMetaData元数据=RS.getMetaData();
//生成表头。
对于(int j=0;j
tableData=newarraylist();
tableHeaderNames=新的ArrayList();
语句SQL=dbConnectionSQLServer.getCN().createStatement(ResultSet.TYPE\u SCROLL\u敏感,ResultSet.CONCUR\u可更新);
RS=SQL.executeQuery(“从Coa32中选择*);
对于(int j=0;j

找到了将语句类型更改为Sensive和updateable的解决方案。

请学习您使用的技术。简单的jdbc问题,而不是JavaSE或jsfproblem@Kukeltje更可能是驱动程序错误,因为显示的代码应该可以工作。我还认为您删除Java标记是没有根据的,因为JDBC是JavaSE的一部分,显示的代码是Java代码。@MarkrotVeel:同意,对不起。很长一段时间没有做低级jdbc,看到很多jsf问题错误地添加了java标记,因此我删除了它,忘了将它放在与jdbc相关的位置。请发布完整的异常堆栈跟踪,并指定您正在使用的数据库和驱动程序。另外,请注意,根据您的需要,您可能需要使用
getColumnLabel
而不是
getColumnName
    tableData = new ArrayList< Map<String, ColumnModel> >();
    tableHeaderNames = new ArrayList<ColumnModel>();
    Statement SQL = dbConnectionSQLServer.getCN().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

    RS = SQL.executeQuery("Select * From Coa32");

    for (int j = 0; j < RS.getMetaData().getColumnCount(); j++) {
    System.out.println("Start:");
        tableHeaderNames.add(new ColumnModel("header "+j, " col:"+ RS.getMetaData().getColumnLabel(1)));
    System.out.println("End:");
    }