Herkese mutlu haftasonları. Veritabanından bildilerini aldığım tablomun Sütun isimlerini bir türlü çekemedim. Yani boş geliyor.
myTableModel sınıfım:
myTableModel sınıfını kullanış şeklim:
Bu şekilde ama Tablo sütun isimlerini veri tabanından çekemiyorum. Sizce neden olabilir?
myTableModel sınıfım:
Kod:
[COLOR=#666666][FONT=Tahoma]import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]public class myTableModel extends AbstractTableModel{[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]private int satirSayisi;
private int kolonSayisi;
private ResultSet resultSet;// Sql sorgusundan dönen ResultSet
private ArrayList veri=new ArrayList();[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]//Yapıcı metod parametre olarak sqlin döndürdüğü resultseti alıyor.
public myTableModel(ResultSet resultSet) throws Exception
{
setResultSet(resultSet);[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]public void setResultSet(ResultSet resultSet) throws Exception {
this.resultSet = resultSet;
ResultSetMetaData metaData = resultSet.getMetaData();
satirSayisi = 0;
kolonSayisi = metaData.getColumnCount();
while (resultSet.next()) {
Object[] row = new Object[kolonSayisi];
for (int j = 0; j < kolonSayisi; j++) {
row[j] = resultSet.getObject(j + 1);
}
veri.add(row);
satirSayisi++;
}
}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]//Tablodaki satır sayısını döndüren metod
public int getRowCount() {
return satirSayisi;
}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]//Tablodaki kolon sayısını döndüren metod
public int getColumnCount() {
return kolonSayisi;
}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]//Bir hücredeki değeri döndüren metod
public Object getValueAt(int rowIndex, int columnIndex) {
Object[] row=(Object[]) veri.get(rowIndex);
return row[columnIndex];
}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]//index'i verilen kolonun adını döndüren fonksiyon.
@Override
public String getColumnName(int columnIndex) {
try {
ResultSetMetaData metaData = resultSet.getMetaData();
return metaData.getColumnName(columnIndex + 1);
} catch (Exception e) {
e.printStackTrace();
return "";
}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]}[/FONT][/COLOR]
[COLOR=#666666][FONT=Tahoma]}
[/FONT][/COLOR]
myTableModel sınıfını kullanış şeklim:
Kod:
[COLOR=#666666][FONT=Tahoma]res = st.executeQuery("SELECT * FROM "+ tismi);
myTableModel model = new myTableModel(res);
anaTablo.setModel(model);
[/FONT][/COLOR]
Bu şekilde ama Tablo sütun isimlerini veri tabanından çekemiyorum. Sizce neden olabilir?