Jtable

kokoriko

Mitglied
Hallo an Alle
Ich habe es geschafft die Daten von der Datenbank in JTable zu schreiben und zwar nach Viele Mühen . nur ich schaffe es nicht die Splaten Name zu kriegen kann jemand mir Helhen Hier Mein Code
Code:
package demo2;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;


public class JTableDemo {
    
     
    
     private static final String dbDriverClass = "sun.jdbc.odbc.JdbcOdbcDriver";
    
    static {
        try {
            
            Thread
                    .currentThread()
                    .getContextClassLoader()
                    .loadClass(dbDriverClass)
                    .newInstance();
        } catch (InstantiationException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IllegalAccessException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /** Creates a new instance of JTableDemo */
    public JTableDemo() {
    }
    
    /**
     * @param args the command line arguments
     */
    private static void zeigen(String message) {
      System.out.println(message);
   }
  private static void Aufhoeren(String message) {
      System.err.println(message);
      System.exit(99);
   }

    public static void main(String[] args) {
      final String dbPath ="H:/JC/DATENBANKFONDS.mdb";
    //private final String dbUser = "Administrator";
     String dbUser = "";
     String dbpasswd = "";
     Connection con = null;
     ResultSet rset = null;
     String Strsql = "";

         try {

         String DBurl = "jdbc:odbc: DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + dbPath;
         con = DriverManager.getConnection(DBurl);
          con = DriverManager.getConnection(DBurl, dbUser, dbpasswd);
      } catch (SQLException e) {
        Aufhoeren("Verbindung zur Datenbankl unmöglich");
      }
        
     Strsql="select * from Stammdaten";
    
     try {
         Statement stmt = con.createStatement();
         rset = stmt.executeQuery(Strsql);
      } catch (SQLException e) {
         Aufhoeren("Achtung die Abfrage kann nicht ausgeführt werden");
      }
String[] tableColumnsName = {"col 1","col 2","col 3","col 1","col 2","col 3","col 1","col 2","col 3","col 1","col 2","col 3"};
JTable table=new JTable();
DefaultTableModel aModel = (DefaultTableModel) table.getModel();
aModel.setColumnIdentifiers(tableColumnsName);


     try {
         ResultSetMetaData rsmd =  rset.getMetaData();
         int nbCols = rsmd.getColumnCount();
         //String StrName =rsmd.getColumnName(50);
         // boolean encore =  rset.next();
  
        // while (encore) {
           while(rset.next()){ 
             
              Object[] objects = new Object[nbCols];
                   for (int i =0; i < nbCols; i++)
                 objects[i]=rset.getObject(i+1);
              //System.out.print( rset.getString(i) + " ");
              
               
              aModel.addRow(objects);
              System.out.println();
           // encore =  rset.next();
            rset.next();
            
         }

          rset.close();
      } catch (SQLException e) {
          Aufhoeren(e.getMessage());
      }

     
     
     
     // String[] titles = new String[]{ "A", "B", "C", "D" ,"E", "F", "G", "H","I", "J", "K", "L","M", "N", "O", "P"}; 
      //final DefaultTableModel model = new DefaultTableModel( titles, 0 ); 
      //JTable table = new JTable( model );       
      JFrame frame = new JFrame( "Demo" ); 
     Container content = frame.getContentPane(); 
     content.add( new JScrollPane( table ),BorderLayout.CENTER ); 
     frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
     frame.pack(); 
     frame.setVisible( true ); 
      
      
    }
    
}
 
Hi,

ich weiß zwar nicht ganz, was du vorhast, aber das Model der JTable hat die Methode getColumnName() und das teil liefert die als String den Namen zurück
 
Zurück