kenikavanbis
Terugkerende gebruiker
- Lid geworden
- 22 mei 2007
- Berichten
- 2.192
De bedoeling van dit is dat je een resultset (data van de database meegeeft en ze toont) het model moet er voor zorgen dat de tabel goed zal weergegeven worden
zijn er sugestie om te kiezen wel datatype out ik zou nemen zie plaats met **
zijn er sugestie om te kiezen wel datatype out ik zou nemen zie plaats met **
Code:
package be.djdb.db;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.Set;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.AbstractTableModel;
import com.mysql.jdbc.ResultSetImpl;
import com.mysql.jdbc.ResultSetMetaData;
/**
* @author Lieven Roegiers
* @copyright 2011
* @from JAVA_mylibs
* @version java 1.4+
*/
public class ResultSetTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private static ResourceBundle translations;
private static String columnNames[] ;
private ResultSet rs;
public int getColumnCount() {
return columnNames.length;
}
/**
* @param settings
*/
public ResultSetTableModel(ResultSet rs) {
this.rs = rs;
try {
ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();
String x[]=new String[rsmd.getColumnCount()];
for (int i=rsmd.getColumnCount(); i>1; i--) {
x[i] = rsmd.getColumnName(i);
}
columnNames = x;
rsmd = null;
} catch (SQLException e) {
columnNames = new String[]{"SQLException","NULL"};//TODO
}
}
public String getColumnName(int column) {
return columnNames[column];
}
public int getRowCount() {
ResultSetMetaData metaData = null;
try {
metaData = (ResultSetMetaData) this.rs.getMetaData();
return metaData.getColumnCount();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
public Object getValueAt(int row, int column) {
Object returnValue = null;
rs.absolute(row);
rs.get ??(columnNames[column]);//TODO CHECK COLOMNAMENR = colomname
//this.rs.getRow()(row) (column);
return returnValue;
}
/**
*
*/
/* (non-Javadoc)
* @see javax.swing.table.AbstractTableModel#getColumnClass(int)
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col != 1) {
return false;
} else {
return true;
}
}
public void setValueAt(Object value, int row, int col) {
/*
*
* rs.updateString("Name", rs.getString("Name").toUpperCase());
rs.updateRow();
System.out.println(rs.getString("Name"));
* */
}
}