não OpenCSV não escrevo primeira fila de banco de dados para arquivo CSV

votos
3

Criei programa em Java usando o NetBeans que baixa os dados do banco de dados que é então salvos em arquivo CSV usando OpenCSV. No entanto, por alguma razão primeira fila de banco de dados é ignorada.

while (rs.next()){

CSVWriter writer = new CSVWriter(new FileWriter(C:\\test2.csv), ',');          
writer.writeAll(rs,false);
writer.flush();
writer.close();
}

dados db real:

1 Mark BMW
2 John Audi
3 Nick Fiat

Os dados gravados para o arquivo CSV:

2 John Audi
3 Nick Fiat
Publicado 04/01/2013 em 18:49
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Eu acho que a chamada para rs.next()está avançando uma linha no conjunto de resultados, em seguida, a chamada para WriteAll escreve tudo depois que o avanço. tente tirar o while(rs.next)bloco de laço em torno de seu código e ver se isso funciona

Respondeu 04/01/2013 em 18:52
fonte usuário

votos
0

Você deve verificar a documentação novamente. ele mostra claramente que você não precisa do loop while. Você simplesmente jogar o conjunto de resultados para ele e definir se os cabeçalhos devem ser voltar ou não.

writer.writeAll(yourResultSet, true);

No caso acima, os cabeçalhos serão incluídas no arquivo CSV gerado

Respondeu 14/07/2014 em 14:53
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more