carookee - group communication for you
Home / JavaForum / JDBC
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.241 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 136 von 277 (49%) |<   <   >   >|

Autor Gast
Datum 12.04.02, 11:58
Betreff ResultSet -> JTable -> *.csv


Hallo zusammen!

Ich arbeite gerade an einer Applikation, die per JDBC ein ResultSet aus ner DB holt. Die Daten aus dem ResultSet werden als JTable dargestellt. Soweit funzt auch alles wunderprächtig.
Jetzt soll aber eine Funktion implementiert werden, die es ermöglicht, die Daten auch als CSV(Comma Separated Value)- Tabelle in Excel zu speichern. Da die Daten im ResultSet nach erstellen der JTable und nach schliessen der DB-Connection "verloren gehen", sollen diese stattdessen aus der JTable ausgelesen werden. Folglich lese ich die Werte mittels getElementAt() aus dem JTable. NUR: hat eine Zelle mal keinen Wert, wirft das Programm eine NullPointerException und bricht ab. Wie kann ich dieses Problem umgehen?
So sieht der Code bis anhin aus:

public void execute(Client client1){
    
    TableBuilder tbuilder = new TableBuilder();
    FileWriter fwriter;
    BufferedWriter bwriter;
    PrintWriter pwriter;
    String columnString;
    String dataString;
    File destFile = new File("result.csv");
    
    try{
        fwriter = new FileWriter(destFile);
        bwriter = new BufferedWriter(fwriter);
        pwriter = new PrintWriter(bwriter);
        
        int temp = client1.resultTable.getModel().getColumnCount();
        int tempRow = client1.resultTable.getModel().getRowCount();
        
        for (int i=0; i<temp; i++){
            String colName = client1.resultTable.getColumnName(i);
            pwriter.print(colName);
            pwriter.print(";");
        }
        
        int j=0;
        while(j<tempRow){
            for (int i=0; i<temp; i++){
                String data = client1.resultTable.getValueAt(j, i).toString();
                pwriter.print(data);
                pwriter.print(";");
            }
            j++;
        }
        bwriter.close();
    }
    catch(Exception e){
        System.out.println(e);
    }
}
}


Danke für jede Hilfe!

Roman


Diskussionsverlauf:
ResultSet -> JTable -> *.csv
    Re: ResultSet -> JTable -> *.csv
        Re: ResultSet -> JTable -> *.csv
            Re: ResultSet -> JTable -> *.csv
                Re: ResultSet -> JTable -> *.csv

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com