![]() | |
| | #1 (permalink) |
| Abdullah DAĞLI Üyelik Tarihi: 10/2004 Yer: Ankara
Mesaj: 459
|
Merhabalar. Kod: private ResultSet rs;
private ResultSetMetaData rsBilgiler;
private Vector araBellek;
private int sutunSayisi;
private void baglanti(Statement mStmt,String mSql) {
try {
//rs = mStmt.executeQuery(mSql);
rs = mStmt.execute(mSql);
rsBilgiler = rs.getMetaData();
sutunSayisi = rsBilgiler.getColumnCount();
while (rs.next()) {
String[] satir = new String[rsBilgiler.getColumnCount()];
for (int i = 0; i < rsBilgiler.getColumnCount(); i++) {
satir[i] = rs.getString(i + 1);
}
araBellek.addElement(satir);
}
}
catch (Exception e) {
System.out.println(e);
}
}
İyi günler! |
| | |
| | #3 (permalink) |
| Abdullah DAĞLI Üyelik Tarihi: 10/2004 Yer: Ankara
Mesaj: 459
|
Onları yapıyorum. Ama durum biraz daha farklı. En iyisi ben kodun tamamını vereyim. src/Program.java Kod: import java.beans.Statement;
import java.sql.*;
import kamyon.KTable;
public class Program {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection baglanti = DriverManager.getConnection("jdbc:mysql://localhost/asc?user=root");
Statement stmt = (Statement) baglanti.createStatement();
KTable tablom = new KTable(stmt,"SELECT * FROM calisanlar_en");
tablom.setVisible(true);
}
catch (Exception e) {
System.out.println(e);
}
}
}
src/kamyon/KTable.java Kod: package kamyon;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableColumnModel;
import java.beans.Statement;
import java.sql.*;
import java.util.Vector;
public class KTable extends JTable {
/////////////////////////////////////////////////////
//KTable kullanmak için verilmesi gereken elemanlar//
/////////////////////////////////////////////////////
private Statement stmt;
private String sql;
////////////////////////////////////////////
//KTable kendi içinde kullandığı elemanlar//
////////////////////////////////////////////
private ResultSet rs;
private ResultSetMetaData rsBilgiler;
private Vector araBellek;
private int sutunSayisi;
private static TableModel model;
private TableColumnModel cm = null;
private ListSelectionModel sm = null;
///////////////////////////
//KTable Konsturuktörleri//
///////////////////////////
public KTable(Statement cStmt,String cSql) {
stmt = cStmt;
sql = cSql;
modelOlustur();
boolean autoCreate = false;
TableColumnModel columnModel;
if (cm != null)
columnModel = cm;
else {
columnModel = createDefaultColumnModel();
autoCreate = true;
}
rowMargin = 1;
columnModel.setColumnMargin(1);
setColumnModel(columnModel);
setSelectionModel(sm == null ? createDefaultSelectionModel() : sm);
setModel(model == null ? createDefaultDataModel() : model);
setAutoCreateColumnsFromModel(autoCreate);
initializeLocalVars();
updateUI();
}
//////////////////////////////////////////////////////
//KTable çalışması için çalıştırılması gereken metot//
//////////////////////////////////////////////////////
public void calistir() {
}
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//İşlevsel metotlar.
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////
//Eldeki verilerle bir TableModel döndüren metot//
//////////////////////////////////////////////////
private void modelOlustur() {
baglanti(stmt,sql);
TableModel mModel = new AbstractTableModel() {
public int getColumnCount() {
return sutunSayisi;
}
public int getRowCount() {
return araBellek.size();
}
public Object getValueAt(int row, int col) {
return ((String[]) araBellek.elementAt(row))[col];
}
};
model = mModel;
}
////////////////////////////////////////////
//Verilen Statement degerini işleyen metot//
////////////////////////////////////////////
private void baglanti(Statement mStmt,String mSql) {
try {
rs = mStmt.execute(mSql);
rsBilgiler = rs.getMetaData();
sutunSayisi = rsBilgiler.getColumnCount();
while (rs.next()) {
String[] satir = new String[rsBilgiler.getColumnCount()];
for (int i = 0; i < rsBilgiler.getColumnCount(); i++) {
satir[i] = rs.getString(i + 1);
}
araBellek.addElement(satir);
}
}
catch (Exception e) {
System.out.println(e);
}
}
}
KTable.java dosyasında baglanti() metodunda dediğim execute durumu yeralmaktadır. Burada şimdi execute() metodunu yazdım. Çünkü MyEclipse bana bunu kullanabileceğimi söylüyor. Ama benim istediğim executeQuery metodu. |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 05/2007
Mesaj: 17
|
Kodunu test edemedim gördüğüm kadarıyla yorum yapıyorum kusura bakma. Program classında import java.beans.Statement; import java.sql.*; Statement stmt = (Statement) baglanti.createStatement(); Statement tanımlıyosun ama import larına dikkat et java.sql.Statement i kullanacaksın beans.Statement farklı bişey. import java.beans.Statement; satırını kaldır tekrar dene bakalım. |
| | |
| | #8 (permalink) |
| Üye Üyelik Tarihi: 10/2007
Mesaj: 145
|
Merhaba, bu pembe tabloda bir kişi de gözlüklü şirin olmalı degil mi? Statement.execute() metodu şunun için kullanılıyor; Statment'in çalışma anında çalıştıracağı String bir Resultset üretip üretmeyeceği belli degilken ki durumda kullanılır. Yani bu şu demek bu sql bir "select" cümlecigi olmayabilir. Eğer sonuçlu sorgu çalıştırılmışsa Statement.getResultset() null olmayan bir ResultSet deger döndürür.Sonuçlu sorgu degilse o zaman da null döndürür... Statement.execute() ResultSet'e atayamayacağınız boolean deger döndürmüş olması lazım. Bir başka dikkatimi çeken nokta, JTable'i kalıtarak model'i de Tablonun içine koymak yerine AbstractTableModel 'den genişletilecek ayrı bir sınıf yapılması ,Statement ve ResultSet'in işlenmesi kanımca daha uygun olurdu.
__________________ Aklına ve yeteneğine çok güvenme evlat! Sırrın ardından niceleri gitti de hepsi öldüler. Ölmeden önce ölmenin sırrına erenlere selamım. |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| server.execute php karşılığı | deggial | PHP | 6 | 29/12/2007 12:56 |
| Server.Execute ve Firefox | paradise | ASP | 2 | 12/06/2007 15:36 |
| Asp eval Execute ExecuteGlobal | minder | ASP | 0 | 26/03/2007 02:44 |
| server.execute | ismail pala | ASP | 6 | 20/08/2006 22:14 |
| server.execute ve sayfa gömmek | chaostician | ASP | 1 | 10/08/2004 14:45 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |