folder Tahribat.com Forumları
linefolder Java
linefolder [Java] Jtable‘Da Database‘Den Veri Listeleme



[Java] Jtable‘Da Database‘Den Veri Listeleme

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek

    Merhaba arkadaşlar,

    Bir araç servis otomasyonu yazıyorum veritabanına ekleme çıkarma işlemi tamam fakat bilgileri jtable'da gösteremiyorum.

    Yardımcı olabilecek mürid var mı? Teşekkürler.

     

     

    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.TitledBorder;
    import javax.swing.UIManager;
    
    import java.awt.Color;
    
    import javax.swing.JLabel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.SwingConstants;
    import javax.swing.JTextField;
    import javax.swing.JTextPane;
    import javax.swing.JComboBox;
    import javax.swing.JButton;
    
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import javax.swing.DefaultComboBoxModel;
    
    
    public class Servis {
    
    	private JFrame frmAraServisOtomasyonu;
    	private JTextField txtAd;
    	private JTextField txtSoyad;
    	private JTextField txtTelefon;
    	private JTextField txtMail;
    	private JTextField txtPlaka;
    	private JTextField txtTarih;
    	JTable jtabEmail;
    	
    	Connection baglanti = null;
    	Statement statement=null;
    	ResultSet resultSet=null;
    	
    	String adi, soyadi, mail, adres, bakim, plaka, tarih, ek_sikayet; 
    	long telefon;
    	String model;
    	
    
    	String[] baslik= { "Ad", "Soyad", "Telefon", "Mail Adresi",
    			 "Tarih", "Model", "Bakım Türü", "Plaka"};
    	
    	Object[][] data = {
    			//{"Cenk", "xx", "124", "admin@x.com", "11.12.2014", "2014", "10.000 KM", "34 UU x"}
    			
    	};
    	
    	public void veriCek(){
    		
    			//Verıtabanından cıktı alıyoruz.
    			try {
    				resultSet = statement.executeQuery("select * from tablo");
    				
    				while (resultSet.next()) {
    					System.out.println("id no: " + resultSet.getString("id") +
    							"	Adi :" + resultSet.getString("ad") +
    							"	Soyadi :" + resultSet.getString("soyad") + 
    							"	Modeli :" + resultSet.getString("model") +
    							"	Bakim :" + resultSet.getString("bakim"));
    					
    				}
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    
    	}
    	
    	public void Veritabani(){
    		
    		try {
    			
    			
    			//Baglantının ozellıklerını tanımlıyoruz.
    			baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/cenk?user=cenkgun&password=1234");
    			
    			//Statement adında baglantı ifadesi kullanıyoruz.
    			statement=baglanti.createStatement();
    			
    			//Verıtabanına secılen tabloya ekleme yapıyoruz.
    			statement.execute("insert into tablo (ad, soyad, telefon, mail, adres, model, bakim, plaka, tarih, ek_istek) values ('"+adi+"', '"+soyadi+"', '"+telefon+"', '"+mail+"', '"+adres+"', '"+model+"', '"+bakim+"', '"+plaka+"', '"+tarih+"', '"+ek_sikayet+"') ");
    			
    			
    			
    			
    		} catch (SQLException e) {
    				
    			e.printStackTrace();
    		}
    		
    	}
    	
    	
    	
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Servis window = new Servis();
    					window.frmAraServisOtomasyonu.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the application.
    	 */
    	public Servis() {
    		initialize();
    	}
    
    	/**
    	 * Initialize the contents of the frame.
    	 */
    	private void initialize() {
    		frmAraServisOtomasyonu = new JFrame();
    		frmAraServisOtomasyonu.setTitle("Ara\u00E7 Servis Otomasyon");
    		frmAraServisOtomasyonu.setResizable(false);
    		frmAraServisOtomasyonu.setBounds(100, 100, 694, 575);
    		frmAraServisOtomasyonu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frmAraServisOtomasyonu.getContentPane().setLayout(null);
    		
    		JPanel pnlKayitBilgileri = new JPanel();
    		pnlKayitBilgileri.setBorder(new TitledBorder(null, "Kay\u0131t Bilgileri", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    		pnlKayitBilgileri.setBounds(10, 11, 658, 309);
    		frmAraServisOtomasyonu.getContentPane().add(pnlKayitBilgileri);
    		pnlKayitBilgileri.setLayout(null);
    		
    		JPanel pnlAracSahibi = new JPanel();
    		pnlAracSahibi.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Ara\u00E7 Sahibi", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
    		pnlAracSahibi.setBounds(10, 21, 311, 277);
    		pnlKayitBilgileri.add(pnlAracSahibi);
    		pnlAracSahibi.setLayout(null);
    		
    		JLabel lblAd = new JLabel("Ad\u0131 :");
    		lblAd.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblAd.setBounds(34, 42, 66, 14);
    		pnlAracSahibi.add(lblAd);
    		
    		JLabel lblSoyad = new JLabel("Soyad\u0131 :");
    		lblSoyad.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblSoyad.setBounds(44, 67, 56, 14);
    		pnlAracSahibi.add(lblSoyad);
    		
    		JLabel lblTelefon = new JLabel("Telefon :");
    		lblTelefon.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblTelefon.setBounds(34, 92, 66, 14);
    		pnlAracSahibi.add(lblTelefon);
    		
    		JLabel lblMailAdresi = new JLabel("Mail Adresi :");
    		lblMailAdresi.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblMailAdresi.setBounds(21, 117, 79, 14);
    		pnlAracSahibi.add(lblMailAdresi);
    		
    		JLabel lblAdresi = new JLabel("Adresi :");
    		lblAdresi.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblAdresi.setBounds(54, 142, 46, 14);
    		pnlAracSahibi.add(lblAdresi);
    		
    		txtAd = new JTextField();
    		txtAd.setBounds(110, 39, 160, 20);
    		pnlAracSahibi.add(txtAd);
    		txtAd.setColumns(10);
    		
    		txtSoyad = new JTextField();
    		txtSoyad.setBounds(110, 64, 160, 20);
    		pnlAracSahibi.add(txtSoyad);
    		txtSoyad.setColumns(10);
    		
    		txtTelefon = new JTextField();
    		txtTelefon.setBounds(110, 89, 160, 20);
    		pnlAracSahibi.add(txtTelefon);
    		txtTelefon.setColumns(10);
    		
    		txtMail = new JTextField();
    		txtMail.setBounds(110, 114, 160, 20);
    		pnlAracSahibi.add(txtMail);
    		txtMail.setColumns(10);
    		
    		JTextPane tpAdres = new JTextPane();
    		tpAdres.setBounds(110, 142, 160, 101);
    		pnlAracSahibi.add(tpAdres);
    		
    		JPanel pnlAracBilgileri = new JPanel();
    		pnlAracBilgileri.setBorder(new TitledBorder(null, "Ara\u00E7 Bilgileri", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    		pnlAracBilgileri.setBounds(331, 21, 317, 226);
    		pnlKayitBilgileri.add(pnlAracBilgileri);
    		pnlAracBilgileri.setLayout(null);
    		
    		JLabel lblModel = new JLabel("Model :");
    		lblModel.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblModel.setBounds(35, 45, 66, 14);
    		pnlAracBilgileri.add(lblModel);
    		
    		JLabel lblBakmTr = new JLabel("Bak\u0131m T\u00FCr\u00FC :");
    		lblBakmTr.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblBakmTr.setBounds(22, 70, 79, 14);
    		pnlAracBilgileri.add(lblBakmTr);
    		
    		JLabel lblPlaka = new JLabel("Plaka :");
    		lblPlaka.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblPlaka.setBounds(35, 95, 66, 14);
    		pnlAracBilgileri.add(lblPlaka);
    		
    		JLabel lblTarih = new JLabel("Tarih :");
    		lblTarih.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblTarih.setBounds(22, 120, 79, 14);
    		pnlAracBilgileri.add(lblTarih);
    		
    		JLabel lblEkikayetler = new JLabel("Ek \u015Eikayetler :");
    		lblEkikayetler.setHorizontalAlignment(SwingConstants.RIGHT);
    		lblEkikayetler.setBounds(10, 145, 91, 14);
    		pnlAracBilgileri.add(lblEkikayetler);
    		
    		txtPlaka = new JTextField();
    		txtPlaka.setColumns(10);
    		txtPlaka.setBounds(111, 92, 160, 20);
    		pnlAracBilgileri.add(txtPlaka);
    		
    		txtTarih = new JTextField();
    		txtTarih.setColumns(10);
    		txtTarih.setBounds(111, 117, 160, 20);
    		pnlAracBilgileri.add(txtTarih);
    		
    		JComboBox cmModel = new JComboBox();
    		cmModel.setModel(new DefaultComboBoxModel(new String[] {"2014", "2013", "2012", "2011", "2010", "2009", "2008", "2007", "2006", "2005", "2004", "2003", "2002", "2001", "2000"}));
    		cmModel.setBounds(111, 42, 79, 20);
    		pnlAracBilgileri.add(cmModel);
    		
    		JComboBox cmBakim = new JComboBox();
    		cmBakim.setModel(new DefaultComboBoxModel(new String[] {"10.000", "20.000", "30.000", "40.000", "50.000", "60.000", "70.000", "80.000", "90.000", "100.000", "110.000", "120.000", "130.000", "140.000", "150.000", "160.000", "170.000", "180.000", "190.000", "200.000"}));
    		cmBakim.setBounds(111, 67, 79, 20);
    		pnlAracBilgileri.add(cmBakim);
    		
    		JTextPane tpEkSikayet = new JTextPane();
    		tpEkSikayet.setBounds(111, 145, 160, 70);
    		pnlAracBilgileri.add(tpEkSikayet);
    		
    		JButton btnNewButton = new JButton("Kaydet");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				
    				adi = txtAd.getText();
    				soyadi = txtSoyad.getText();
    				telefon = Integer.parseInt(txtTelefon.getText());
    				mail = txtMail.getText();
    				adres = tpAdres.getText();
    				model = (String) cmModel.getSelectedItem();
    				bakim = (String) cmBakim.getSelectedItem();
    				plaka = txtPlaka.getText();
    				tarih = txtTarih.getText();
    				ek_sikayet = tpEkSikayet.getText();
    				
    				Veritabani();
    				veriCek();
    				
    			}
    		});
    		btnNewButton.setBounds(559, 258, 89, 40);
    		pnlKayitBilgileri.add(btnNewButton);
    		
    		JPanel pnlKayitlar = new JPanel();
    		pnlKayitlar.setBorder(new TitledBorder(null, "Kay\u0131tlar", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    		pnlKayitlar.setBounds(10, 331, 658, 194);
    		frmAraServisOtomasyonu.getContentPane().add(pnlKayitlar);
    		pnlKayitlar.setLayout(null);
    		
    		jtabEmail = new JTable(data, baslik);  // --> Tabloyu oluşturur.
    		
    		JScrollPane jscrlp = new JScrollPane(jtabEmail);
    		jscrlp.setBounds(10, 23, 638, 160);
    		pnlKayitlar.add(jscrlp);
    	}
    }
    

    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek

    up


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DeadLyShadoW
    DeadLyShadoW's avatar
    Kayıt Tarihi: 28/Eylül/2009
    Erkek

    <code>import java.sql.ResultSet;

    import java.sql.ResultSetMetaData;

    import java.util.ArrayList;

    import javax.swing.table.AbstractTableModel;

     

    public class myTableModel extends AbstractTableModel{

     

        private int satirSayisi;

        private int kolonSayisi;

        private ResultSet resultSet;// Sql sorgusundan dönen ResultSet

        private ArrayList veri=new ArrayList();

     

        //Constructor metod parametre olarak sql'in döndürdüğü resultset'i alıyor.

        public myTableModel(ResultSet resultSet) throws Exception

        {

            setResultSet(resultSet);

        }

     

        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++;

            }

        }

     

        //Tablodaki satır sayısını döndüren metod

        public int getRowCount() 

        {

            return satirSayisi;

        }

     

        //Tablodaki kolon sayısını döndüren metod

        public int getColumnCount()

        {

            return kolonSayisi;

        }

     

        //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];

        }

     

       /*//Bu method sonradan dışarıdan eklendi

        @Override

        public String getColumnName(int columnIndex) {

            try {

                ResultSetMetaData metaData = resultSet.getMetaData();

                return metaData.getColumnName(columnIndex + 1);

            } catch (Exception e) {

                e.printStackTrace();

                return "";

            }

        }*/

     

    }

     </code>

     

    Şu şekilde de implement ettim call için;

    public void fillTable()

    {

    try 

    {

    Statement statement = connect.createStatement();

    //ResulSet sql sorgusundan dönen cevap için var...

    ResultSet res = statement.executeQuery("SELECT * FROM  MusteriKayit"); 

    //  ResultSet res = statement.executeQuery("SELECT Firma,Plaka,AracSahibi,Telefon,FaturaBilgi,Tarih,RoterdorOil,"

       //+ "SanzumanOil,DifransiyelOil,FrenOil,Aciklama,MazotFilter,SeparFilter,HavaFilter,KurutucuFilter FROM  MusteriKayit"); //Veri tabanındaki tabledan kayıtları ResultSet'e al

       myTableModel model = new myTableModel(res); //Tabloya model oluştur

       table.setModel(model); //Tabloyu res'teki kayıtlar ile doldur

    }

    catch (Exception e) 

    {

    JOptionPane.showConfirmDialog(null, "Tablo Yüklenemedi", "Program Hatası", JOptionPane.PLAIN_MESSAGE);//alert basma işlemi

    }

    }

     

    Bu şekilde bir class yazman lazım ve ne zaman ihtiyacın olursa çağırman lazım mesela fillTable() şeklinde


    Batmayacağına inanarak suya bas,yürür gidersin... Mucize yürüyebilmen değil inanabilmendir. - Seyyid Ahmet Arvasi
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    DeadLyShadoW

    hocam cok tesekkurler ödevi teslim ettim fakat hemen bakıyorum.


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
Toplam Hit: 2018 Toplam Mesaj: 4