Model tabeli działający na ResultSet JDBC
Paweł Kraszewski, ndz., 21/09/2008 - 21:40
import java.sql.*;
import javax.swing.table.AbstractTableModel;
/**
*
* Plik: JdbcTableModel.java
*
* @author Paweł Kraszewski <pawel@kraszewscy.net>
*
*/
public class JdbcTableModel
extends AbstractTableModel
{
private static final long serialVersionUID = 1L;
private int dbRow;
private ResultSetMetaData dbMeta;
private ResultSet dbResult;
private int dbRows;
private int dbCols;
public JdbcTableModel( ResultSet result )
throws SQLException
{
dbRow = -1;
dbMeta = result.getMetaData();
dbResult = result;
dbResult.last();
dbRows = dbResult.getRow();
dbCols = dbMeta.getColumnCount();
}
public int getRowCount()
{
return dbRows;
}
public int getColumnCount()
{
return dbCols;
}
public Object getValueAt( int row, int col )
{
try
{
if( dbRow != row )
{
dbResult.absolute( row + 1 );
dbRow = row;
}
return dbResult.getObject( col + 1 );
}
catch( SQLException ex )
{
return null;
}
}
@Override
public Class<?> getColumnClass( int col )
{
try
{
return Class.forName( dbMeta.getColumnClassName( col + 1 ) );
}
catch( Exception ex )
{
return Object.class;
}
}
@Override
public String getColumnName( int col )
{
try
{
return dbMeta.getColumnLabel( col + 1 );
}
catch( SQLException ex )
{
return "";
}
}
}
import javax.swing.table.AbstractTableModel;
/**
*
* Plik: JdbcTableModel.java
*
* @author Paweł Kraszewski <pawel@kraszewscy.net>
*
*/
public class JdbcTableModel
extends AbstractTableModel
{
private static final long serialVersionUID = 1L;
private int dbRow;
private ResultSetMetaData dbMeta;
private ResultSet dbResult;
private int dbRows;
private int dbCols;
public JdbcTableModel( ResultSet result )
throws SQLException
{
dbRow = -1;
dbMeta = result.getMetaData();
dbResult = result;
dbResult.last();
dbRows = dbResult.getRow();
dbCols = dbMeta.getColumnCount();
}
public int getRowCount()
{
return dbRows;
}
public int getColumnCount()
{
return dbCols;
}
public Object getValueAt( int row, int col )
{
try
{
if( dbRow != row )
{
dbResult.absolute( row + 1 );
dbRow = row;
}
return dbResult.getObject( col + 1 );
}
catch( SQLException ex )
{
return null;
}
}
@Override
public Class<?> getColumnClass( int col )
{
try
{
return Class.forName( dbMeta.getColumnClassName( col + 1 ) );
}
catch( Exception ex )
{
return Object.class;
}
}
@Override
public String getColumnName( int col )
{
try
{
return dbMeta.getColumnLabel( col + 1 );
}
catch( SQLException ex )
{
return "";
}
}
}
- Wersja do wydruku
- Odpowiedz
- 2006 odsłon
- Wersja PDF


Ostatnie odpowiedzi
20 tygodni 3 dni temu
20 tygodni 3 dni temu
28 tygodni 6 dni temu
31 tygodni 5 dni temu
34 tygodnie 2 dni temu
37 tygodni 23 godziny temu
37 tygodni 23 godziny temu
37 tygodni 5 dni temu
45 tygodni 6 dni temu
1 rok 9 tygodni temu