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
找到了将语句类型更改为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:");
}