fed_lviv написав:...
getTableContents(tableName);// метoд заповнює даними таблицю (jTable)
...
Ось тут детальніше можна?
 в методі визначається кількість колонок в таблиці БД та їх типи і заповнюється даними
[code=java]private ArrayList<Object[]> data;
public void getTableContents(String tableName)
        throws SQLException {
    meta = conn.getMetaData();
    rs = meta.getColumns(null, null, tableName, null);// отримати метадані по колонкам
    // ArrayList colNamesList = new ArrayList();// список імен колонок
    ArrayList colTypesList = new ArrayList();// список типів колонок
    // цикл по всім колонкам таблиці
    // для кожної колонки визначити імя і тип 
    while (rs.next()) {
        colNamesList.add(rs.getString("COLUMN_NAME"));// добавити в список імя колонок
        int dbType = rs.getInt("DATA_TYPE");// визначити тип колонки
        // вибрати потрібний тип
        switch (dbType) {
            case Types.INTEGER:
                colTypesList.add(Integer.class);
                break;
            case Types.FLOAT:
                colTypesList.add(Float.class);
                break;
            //case Types.DOUBLE:
            case Types.REAL:
                colTypesList.add(Double.class);
                break;
            case Types.DATE:
            case Types.TIME:
            case Types.TIMESTAMP:
                colTypesList.add(java.sql.Date.class);
                break;
            default:
                colTypesList.add(String.class);
                break;
        };
    }
    // імена колонок зберегти в окремий масив columnNames
    columnNames = new String[colNamesList.size()];
    colNamesList.toArray(columnNames);
    
    for(int n=0; n<columnNames.length; n++){
        System.out.println("імена колонок (getTableContents)--"+columnNames[n]);
    }
    // типи колонок зберегти в окремий масив  columnClasses
    columnClasses = new Class[colTypesList.size()];
    colTypesList.toArray(columnClasses);
    Statement statement = conn.createStatement();
    rs = statement.executeQuery("SELECT * FROM " + tableName);
    ArrayList rowList = new ArrayList(); // зберігає записи із таблиці
    // цикл по всим записам таблиці
    while (rs.next()) {
        ArrayList cellList = new ArrayList();// зберігає дані по кожній колонці (ячейці)
        for (int n = 0; n< columnClasses.length; n++) {
            Object cellValue = null;
            if (columnClasses[n] == String.class) {
                cellValue = rs.getString(columnNames[n]);
            } else if (columnClasses[n] == Integer.class) {
                cellValue = new Integer(rs.getInt(columnNames[n]));
            } else if (columnClasses[n] == Float.class) {
                cellValue = new Float(rs.getInt(columnNames[n]));
            } else if (columnClasses[n] == Double.class) {
                cellValue = new Double(rs.getDouble(columnNames[n]));
            } else if (columnClasses[n] == java.sql.Date.class) {
                cellValue = rs.getDate(columnNames[n]);
            } else {
                System.out.println("Не можу визначити тип поля " + columnNames[n]);
            }
            cellList.add(cellValue);
        }// for
        Object[] cells = cellList.toArray();
        data.add(cells);
    } // while
    if (rs!=null ) rs.close();
    if (statement!=null ) statement.close();
      System.out.println(" method getTableContents(tableName);");
}[/code]