3

データベースからデータをダウンロードし、OpenCSVを使用してCSVファイルに保存するNetbeansを使用してJavaでプログラムを作成しました。ただし、何らかの理由でデータベースの最初の行がスキップされます。

while (rs.next()){

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

実際のデータベース データ:

1 Mark BMW
2 John Audi
3 Nick Fiat

CSV ファイルに書き込まれるデータ:

2 John Audi
3 Nick Fiat
4

2 に答える 2

2

toの呼び出しは、結果セットの1行を進めていると思いますrs.next()。次に、writeAllの呼び出しは、その進んだ後のすべてを書き込みます。while(rs.next)コードの周りのループブロックを取り出して、それが機能するかどうかを確認してください

于 2013-01-04T17:52:11.480 に答える
0

ドキュメントをもう一度確認する必要があります。while ループが不要であることは明らかです。結果セットを投げて、ヘッダーを返すかどうかを定義するだけです。

writer.writeAll(yourResultSet, true);

上記の場合、ヘッダーは生成されたcsvファイルに含まれます

于 2014-07-14T13:53:33.493 に答える