• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

CSV Format not Working

 
Ranch Hand
Posts: 74
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The below program work flawlessly in a recently completed program. However, when I did a new program, using the same CSV code, it doesn't output the database fields to a csv file. I placed a System print just below the data string declaration and do get a partial of the first record --but not the complete record. Not sure what I'm doing different.

In my previous program, I used the comma deliminator by stating the CSVFormat to "CSVFormat format = CSVFormat.RFC4180.withRecordSeparator(",")". In this new program, the "withRecordSeparator" Netbeans deprecates it. Not sure how to resolve this since the format parameter has changed. I use Zulu OpenJDK 17 within Netbeans 17 in a Windows 10 OS.

 
Saloon Keeper
Posts: 10783
86
Eclipse IDE Firefox Browser MySQL Database VI Editor Java Windows ChatGPT
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What do you get?
On line 53 you commented out the print and I don't see the system print you mentioned.
 
Carey Brown
Saloon Keeper
Posts: 10783
86
Eclipse IDE Firefox Browser MySQL Database VI Editor Java Windows ChatGPT
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Use the auto-formatting capability of Netbeans. Example:
 
Carey Brown
Saloon Keeper
Posts: 10783
86
Eclipse IDE Firefox Browser MySQL Database VI Editor Java Windows ChatGPT
 
Marshal
Posts: 4526
572
VSCode Eclipse IDE TypeScript Redhat MicroProfile Quarkus Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You should either handle the database exceptions or let them bubble up.  Hiding them is going to bring you grief, in both development and production.
 
Ron McLeod
Marshal
Posts: 4526
572
VSCode Eclipse IDE TypeScript Redhat MicroProfile Quarkus Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Bill Melendez wrote:I used the comma deliminator by stating the CSVFormat to "CSVFormat format = CSVFormat.RFC4180.withRecordSeparator(",")". In this new program, the "withRecordSeparator" Netbeans deprecates it.


Assuming that you are using Apache Commons CSV, the current documentation indicates that you should be using a CSVFormat.Builder and setting the delimiter with the setRecordSeparator method.
 
Ranch Hand
Posts: 32
2
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This works for me



I used here sqlite mydb.db with mytable:

sqlite> .schema mytable
CREATE TABLE mytable(c1 TEXT,c2 TEXT,c3 REAL);
sqlite> select * from mytable;
aaa|my text|1.2
bbb|my text 2|0.99
ccc|my text 3|1.33


And the output mycsv.csv file is

c1,c2,c3
aaa,my text,1.2,
bbb,my text 2,0.99,
ccc,my text 3,1.33,

 
Bill Melendez
Ranch Hand
Posts: 74
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Grzegorz: Thanks. I redid the whole thing to the below code which works great for me. I do appreciate your post though. The key is to move away from having a "main" that activates the CSV export. Instead, I prefer to use it as a "method" that can work when called by a jbutton within a main program.  

 
Bill Melendez
Ranch Hand
Posts: 74
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Grzegorz:  here's the main screen that applies the CSV Save output. It is a Phone Logging for customer support calls and actions taken. I cleared the entry form since the information is not needed for displaying this screen to this post. Otherwise, the right side is a JTABLE with the database records displayed. Clicking on a row will populate the entry form.
PhoneLog-Main-Screen.png
[Thumbnail for PhoneLog-Main-Screen.png]
 
Carey Brown
Saloon Keeper
Posts: 10783
86
Eclipse IDE Firefox Browser MySQL Database VI Editor Java Windows ChatGPT
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Indent cleanup.
Remove outer try, unnecessary.
Declare rowData on line 29.
Comment out unused HEADER String.
Marked probable problem on line 27.
Removed throws because you don't.
Catching  all non-IOExceptions is a bad idea. at least log them.
 
Saloon Keeper
Posts: 27862
196
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Ron McLeod wrote:You should either handle the database exceptions or let them bubble up.  Hiding them is going to bring you grief, in both development and production.

Hiding them would earn you a good hiding if I ever inherited that code.  
 
Bill Melendez
Ranch Hand
Posts: 74
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
@Carey: Thank you so much for your insight and comments. I will apply what you suggested.
 
Marshal
Posts: 28261
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Ron McLeod wrote:You should either handle the database exceptions or let them bubble up.  Hiding them is going to bring you grief, in both development and production.


A better way to fix this particular instance of exception hiding:

Commonly called "multicatch", released in Java 7.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic