You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alan Stewart (JIRA)" <ji...@apache.org> on 2014/10/28 03:16:33 UTC

[jira] [Created] (CSV-138) CSVPrinter.printRecords(ResultSet) skips first row with SQLServer

Alan Stewart created CSV-138:
--------------------------------

             Summary: CSVPrinter.printRecords(ResultSet) skips first row with SQLServer
                 Key: CSV-138
                 URL: https://issues.apache.org/jira/browse/CSV-138
             Project: Commons CSV
          Issue Type: Bug
          Components: Printer
    Affects Versions: 1.0
            Reporter: Alan Stewart


WIth SQLServer's 2012 jdbc driver 4.0, when I call CSVPrinter#printRecords with a java.sql.ResultSet, the first row is not printed. It appears that the line
{code}
final int columnCount = resultSet.getMetaData().getColumnCount();
{code} 
positions the cursor on the first row and then when
{code}
 while (resultSet.next()) { ...
{code}
is called, the 2nd row onwards is what is getting outputted.

As a workaround, I used :
{code}
                   do {
                        final int columnCount = rs.getMetaData().getColumnCount();
                        for (int i = 1; i <= columnCount; i++) {
                            csvPrinter.print(rs.getString(i));
                        }
                        csvPrinter.println();
                    } while (rs.next());
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)