rocket147 adlı üyeden alıntı

Veritabanına bağlanamadı diyor run yapar yapmaz.

ResultSet result;
Connection connection;
Statement statement ;
int sutunSayisi ;
try {
Class.forName("com.mysql.jdbc.Driver");

// Oluşturduğumuz veritabanının adını,kullanıcı adı ve şifreyi göndip Mysql // bağlantı kuruyoruz. connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbhastane","root","");

// bağlantı tipinden statement oluşturuyoruz.
statement=connection.createStatement();

// doktor tablosundaki tum verileri alıyoruz
result=statement.executeQuery("Select * from tbdoktor ");

//Veri tabanındaki sutunlarin sayisini alıyoruz.
sutunSayisi=result.getMetaData().getColumnCount();

//Table tipinde model olusturuyoruz.
DefaultTableModel table=new DefaultTableModel();

//table referansına veritabanındaki sutunları ekliyoruz.
for(int i=1;i<=sutunSayisi;i++)
table.addColumn(result.getMetaData().getColumnName(i));

//Veritabanindaki tum satir ve sutunlari tarayip Table'a ekliyoruz.
while(result.next()){
Object[] row=new Object[sutunSayisi];
for(int i=1;i<=sutunSayisi;i++)
row[i-1]=result.getObject(i);
table.addRow(row);
}

//table referansına eklediklerimizi jtable1'e atıyoruz.
jTable1.setModel(table);

//baglantıları kapatıyoruz.
result.close();
connection.close();
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, "VeriTabani Baglanti Hatasi");
}


YazılımMimarı adlı üyeden alıntı

for loop'un dışında row(satır)'u eklemelisiniz.

basit bir simüle edelim.

database'den bir satır gelsin.



--


}
--

++
finally bloğu yazıp, bağlantı için null kontrolü yapıp, öyle db baglantısını kapatınız. öncesinde kapatmayınız.


İyileştirme için önerim ;

Temel olarak kod oldukça primitif yazılmış.

ArrayOutOfIndexException + NullPointerException yemeye oldukça açık.

Statik array yerine genişleyebilir ve null değer alabilir List implementasyonunu kullanmanız hem kullanışlı hemde hatalardan daha uzak bir kod yazmanızı sağlar.

kolay gele.


Teşekkürler.