Sqlite browser burdan indirin
Sql jdbc burdan indirin
Sqlite Örneğini indir

import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;//Veri tabanına Bağlantı yapmak için kullandığımız kütüphane 

public class Calistir  implements ActionListener,ListSelectionListener {
	
	JTextField[] jtext_gun;
	 JLabel[] jlb;
	 String[] lbltitle= {"Ad:","SoyAd:","Yas:"};
	 JButton jbtn_gun;
	 JPanel jpn_gun,jpnlb_gun;
	 int yas_gun=-1; 
     JFrame frm,frmgun;
	 JList jlist[],jlistyas;
	 DefaultListModel<String> dlm[];
	 DefaultListModel<Integer> dlmyas,dlmidler;
	 JTextField[] jtext;
	 String[] jbtntitle= {"Ekle","Sil","Güncelle"};
	 JButton[] jbtn;
	 JPanel jpn[],jpnyas;
	 JScrollPane scjpn[],scjpnyas;
	 public Calistir() {
       frm=new JFrame("Sqlite Bağlanti");
       frm.setSize(400, 500);
       frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frm.setLayout(new FlowLayout());
       
       jpn=new JPanel[2];
       dlm=new DefaultListModel[jpn.length];
       dlmidler=new DefaultListModel<Integer>();
       jlist=new JList[dlm.length];
       scjpn=new JScrollPane[jlist.length];
       jbtn=new JButton[3];
       jtext=new JTextField[3];
       
       for(int i=0;i<jpn.length;i++)
       {
    	   jpn[i]=new JPanel();
    	   jpn[i].setPreferredSize(new Dimension(100,400));
    	   jpn[i].setLayout(new FlowLayout());
    	   dlm[i]=new DefaultListModel<String>();
    	   jlist[i]=new JList<String>(dlm[i]);
    	   jlist[i].addListSelectionListener(this);
    	   scjpn[i]=new JScrollPane(jlist[i]);
    	   scjpn[i].setPreferredSize(new Dimension(100,300));
    	   jpn[i].add(scjpn[i]);
    	   frm.add(jpn[i]);   
       }
    	  jpnyas=new JPanel();
    	  jpnyas.setPreferredSize(new Dimension(100,400));
    	  jpnyas.setLayout(new FlowLayout());
   	      dlmyas=new DefaultListModel<Integer>();
   	      jlistyas=new JList<Integer>(dlmyas);
   	      jlistyas.addListSelectionListener(this);
   	      scjpnyas=new JScrollPane(jlistyas);
   	      scjpnyas.setPreferredSize(new Dimension(100,300));
   	      jpnyas.add(scjpnyas);
   	     
   	      for(int i=0;i<jpn.length;i++)//JButtonlar ve JTextField lar oluşturulup panele atılıyor 
   	      {   jtext[i]=new JTextField();
   	          jtext[i].setPreferredSize(new Dimension(100,20));
   	    	  jbtn[i]=new JButton(jbtntitle[i]);
   	    	  jbtn[i].setPreferredSize(new Dimension(100,20));
   	    	  jbtn[i].addActionListener(this);
   	    	  jbtn[i].setActionCommand(jbtntitle[i]);
   	    	  jpn[i].add(jtext[i]);
   	    	  jpn[i].add(jbtn[i]);
   	    	  if(i==jpn.length-1)
   	    	  { 
   	          jtext[2]=new JTextField();
   	          jtext[2].setPreferredSize(new Dimension(100,20));
   	    	  jbtn[2]=new JButton(jbtntitle[2]);
   	    	  jbtn[2].setPreferredSize(new Dimension(100,20));
   	    	  jbtn[2].addActionListener(this);
   	    	  jbtn[2].setActionCommand(jbtntitle[2]);
   	    	  jpnyas.add(jtext[2]);
   	    	  jpnyas.add(jbtn[2]);
   	    	  }
   	      }
   	   frm.add(jpnyas); 
   	   verigetir();
       frm.setVisible(true);
	}
	 public void  KGuncelle(int secilen)
		{   frm.setVisible(false);
			frmgun=new JFrame("Kişi Güncelle");
			frmgun.setSize(300, 300);
			frmgun.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
			frmgun.setLayout(new FlowLayout());
	
			jpn_gun=new JPanel();
			jpn_gun.setPreferredSize(new Dimension(100,150));
			jpn_gun.setLayout(new FlowLayout());
			
			jpnlb_gun=new JPanel();
			jpnlb_gun.setPreferredSize(new Dimension(40,150));
			jpnlb_gun.setLayout(new FlowLayout());
			
			
			jlb=new JLabel[3];
			jtext_gun=new JTextField[jlb.length];
			
			for(int i=0;i<lbltitle.length;i++)
			{
				jlb[i]=new JLabel(lbltitle[i]);
				jlb[i].setPreferredSize(new Dimension(40,20)); 
				jlb[i].setHorizontalAlignment(JLabel.RIGHT);
			    jtext_gun[i]=new JTextField();
			    jtext_gun[i].setPreferredSize(new Dimension(100,20));
			    jpnlb_gun.add(jlb[i]);
			    jpn_gun.add(jtext_gun[i]);	
			}
			for(int i=0;i<dlm.length;i++)
			     jtext_gun[i].setText(dlm[i].getElementAt(secilen));
			     jtext_gun[2].setText(dlmyas.getElementAt(secilen).toString());
			     
			
			jbtn_gun=new JButton("Kaydet");
			jbtn_gun.setPreferredSize(new Dimension(100,20));
			jbtn_gun.addActionListener(this);
			jbtn_gun.setActionCommand("Kaydet");
			jpn_gun.add(jbtn_gun);
			frmgun.add(jpnlb_gun);
			frmgun.add(jpn_gun);
			frmgun.setVisible(true);
		}
		
	public static void main(String[] args) {
		
        new Calistir();
		
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
	    int yas=sayicevir(jtext[2].getText());
	    int secilen=jlist[0].getSelectedIndex();
		if(arg0.getActionCommand().equals("Ekle")&&jtext_kontrol(jtext)&&yas!=-1)
		{
			for(int i=0;i<dlm.length;i++)
			      dlm[i].addElement(jtext[i].getText());
			dlmyas.addElement(yas);
			
			ekle(jtext,yas);//Fonskiyonu çağrıyorum eklemesi için
			for(int i=0;i<jtext.length;i++)
				jtext[i].setText("");
		  verigetir();
		}
		else if(arg0.getActionCommand().equals("Sil")&&secilen>-1) {
			sil(dlm,secilen);
			for(int i=0;i<dlm.length;i++)
	    		     dlm[i].removeElementAt(secilen);
		           dlmyas.removeElementAt(secilen);	
		}
		else if(arg0.getActionCommand().equals("Güncelle")&&secilen>-1){
               frm.setVisible(false);// Bu formu gizle
              KGuncelle(secilen);//guncelle fromunu aç
			   }
			   else if(arg0.getActionCommand().equals("Kaydet")&&jtext_kontrol(jtext_gun))
			   {  
				   yas_gun=sayicevir(jtext_gun[2].getText());
				   if(yas_gun!=-1)
				   {  
			          frm.setVisible(true);//Eğer girilen bilgiler doğruysa frm göster
			          frmgun.dispose();//guncelle formunu yoket
			      for(int i=0;i<dlm.length;i++)
				      dlm[i].removeElementAt(secilen);
			          dlmyas.removeElementAt(secilen);   
			          dlm[0].insertElementAt(jtext_gun[0].getText(),secilen);
			          dlm[1].insertElementAt(jtext_gun[1].getText(),secilen);
			          dlmyas.insertElementAt(yas_gun,secilen);
				   guncelle(secilen);
				   verigetir(); 				
				   }
			    }
}
	 public boolean jtext_kontrol(JTextField[] jtxt)
	{
		 boolean durum=true;
		 for(int i=0;i<jtxt.length;i++)
		 {
			 if(jtxt[i].getText().length()==0)
			 {
				 durum=false;
				 break;
			 }
		 }
   return durum;  
	}
  public int sayicevir(String s)
   {  int yas=0;
     
      try {
    	  yas=Integer.parseInt(s);
      }catch(Exception ex)
      {
    	  yas=-1;
      }
   return yas;	   
   }
	@Override
	public void valueChanged(ListSelectionEvent arg0) {
	    JList secilen=(JList)arg0.getSource();
	    for(int i=0;i<jlist.length;i++)
	    	  jlist[i].setSelectedIndex(secilen.getSelectedIndex());
	    jlistyas.setSelectedIndex(secilen.getSelectedIndex());
	}
//Veri Tabanı İşlemleri
Connection baglanti=null;
public void baglan()
{
     try {
    	 Class.forName("org.sqlite.JDBC");//Sql sınıfının hızlı yüklenmesi için
    	 baglanti=DriverManager.getConnection("jdbc:sqlite:Deneme.db");
     }catch(Exception ex)
     {
    	 JOptionPane.showMessageDialog(frm, "Hata="+ex.getMessage());//Bağlantıda hata olursa mesagebox' ta gösteriyoruz
     }
}
public void verigetir()
{    baglan();
    try {
    	Statement sorgu=baglanti.createStatement();//Yeni sorgu oluşturuyoruz
    	ResultSet veri=sorgu.executeQuery("select * from Kisiler");
        for(int i=0;i<dlm.length;i++)
        	dlm[i].clear();
            dlmyas.clear();
            dlmidler.clear();
    	while(veri.next())
    	{
    		dlm[0].addElement(veri.getString("Ad"));
    		dlm[1].addElement(veri.getString("SoyAd"));
    		dlmyas.addElement(veri.getInt("Yas"));
    		dlmidler.addElement(veri.getInt("KNO"));
    	}
    	veri.close();//Okuyucuyu kapatıyoruz
    	baglanti.close();//bağlantıyı kapatıyoruz
    }catch(Exception ex)
    {
    	JOptionPane.showMessageDialog(frm, "Hata="+ex.getMessage());
    }
}
public void ekle(JTextField[] jtxt,int yas)
{    baglan();//Veri tabanına bağlanıyoruz
   try {
	   PreparedStatement sorgu=baglanti.prepareStatement("insert into Kisiler(Ad,SoyAd,Yas) values(?,?,?)");
		sorgu.setString(1, jtxt[0].getText());//Paremetre ekliyoruz tip neyse ona göre
		sorgu.setString(2, jtxt[1].getText());
		sorgu.setInt(3, yas);
		sorgu.executeUpdate();
		baglanti.close();
   }catch(Exception ex)
   {
	   JOptionPane.showMessageDialog(frm, "Hata="+ex.getMessage()); 
   }
}
public void sil(DefaultListModel<String>[] dlmsil,int secilen)
{
	  baglan();//Veri tabanına bağlanıyoruz
	   try {
		  PreparedStatement sorgu=baglanti.prepareStatement("delete from Kisiler where Ad=? and SoyAd=?");
	      sorgu.setString(1,dlmsil[0].getElementAt(secilen));//Jlist secilen eleman silinecek
	      sorgu.setString(2,dlmsil[1].getElementAt(secilen));
	      sorgu.executeUpdate();//Sorguyu çalıştırıyoruz
	      baglanti.close();
	   }catch(Exception ex)
	   {
		   JOptionPane.showMessageDialog(frm, "Hata="+ex.getMessage()); 
	   }
}
public void guncelle(int secilen)
{      baglan();
	try {
		PreparedStatement sorgu=baglanti.prepareStatement("update Kisiler set Ad=?,SoyAd=?,Yas=? where KNO=?");
		sorgu.setString(1,jtext_gun[0].getText());
		sorgu.setString(2, jtext_gun[1].getText());
		sorgu.setInt(3, yas_gun);
		sorgu.setInt(4,dlmidler.getElementAt(secilen));
		sorgu.executeUpdate();
		baglanti.close();

	}catch(Exception ex)
	{
		JOptionPane.showMessageDialog(frm, "Hata="+ex.getMessage()); 
	}
}
}