21-03-2009, 15:33
Gerek olursa ayrıntılı anlatırım ama basit bir telefon rehberi projesinin kaynak kodları bir veritabanına bağlanma, güncelleme, ekleme, silme vb. olayları bu kod küümesi içerisinde bulabilirsiniz..:
C#
- using System;
- using System.Data.OleDb;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
-
- namespace Telefon_Rehberi_2006
- {
- public partial class Form1 : Form
- {
- //DATABASE e BAĞLANTI
- OleDbConnection baglantı = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB: Database Password=nevzat;Data Source=rehber.mdb");
- //DATABASE e BAĞLANTI
- public Form1()
- {
- InitializeComponent();
- }
- int a,i;
- string aranan,ad,soyad,evtel,ceptel,adres;
- private void Form1_Load(object sender, EventArgs e)//program çalıstırıldıgında yapılacak işlemler
- {
- timer1.Start();
- vericekme();//databasedeki veriyi listview e aktarır
- listView1.ListViewItemSorter = new Sıralama();//listview deki verilerimizi isme gore alfabetik sıraya sokar
- }
- public void vericekme() // databaseden veri cekmek ve guncellemek için kullandığım fonksiyon
- {
- try
- {
- //data baseimizdeki verileri okuma komutu
- OleDbCommand veri = new OleDbCommand("SELECT id, ad, soyad, evtel, ceptel, adres FROM data ORDER BY id", baglantı);
- OleDbDataReader oku = null;
- baglantı.Open();//baglantıyı acar
- oku = veri.ExecuteReader();//verileri cekme komutunu calıstırır
- listView1.Items.Clear();//listview in içeriğini temizler
- while (oku.Read())//database deki verileri listview e yazdırır
- {
- rehberItem.SubItems.Add(oku["ad"].ToString());
- rehberItem.SubItems.Add(oku["soyad"].ToString());
- rehberItem.SubItems.Add(oku["evtel"].ToString());
- rehberItem.SubItems.Add(oku["ceptel"].ToString());
- rehberItem.SubItems.Add(oku["adres"].ToString());
- listView1.Items.Add(rehberItem);
- }
- oku.Close();
- baglantı.Close();//baglantıyı kapatır
- }
- catch
- {
- MessageBox.Show("Veri Tabanıyla Bağlantı Kurulamadı.\nProgramın bulunduğu dizinde rehber.mdb\ndosyasının bulunduğundan emin olun\nve programı tekrar başlatın");
- }
- }
-
- private void kaydet()//database e veri kaydetmek için kullandığım fonksiyon
- {
- try
- {//kayıt ekleme komutu
- OleDbCommand kaydet = new OleDbCommand("INSERT INTO data (ad, soyad, evtel, ceptel, adres) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')", baglantı);
- baglantı.Open();//database baglantısını acar
- kaydet.ExecuteNonQuery();//kaydetme komutumuzu calıstırır
- baglantı.Close();//database baglantısını kapatır
- vericekme();//listview deki verileri gunceller
- temizle();//textboxlarının içini temizler
- }
- catch
- {
- MessageBox.Show("Kayit yapılamadı. Lutfen tekrar deneyiniz.");
- }
- }
-
- private void button3_Click(object sender, EventArgs e)
- {
- kaydet();//kaydetme fonksiyonunu calıstırır
- }
-
- private void sil()//silme fonksiyonu
- {
- try
- {
- a = Convert.ToInt32(listView1.SelectedItems[0].Text);//listview de secili elemanın id sini değişkene atar
- OleDbCommand sil = new OleDbCommand("DELETE FROM data WHERE id=" + a + "", baglantı);//databaseden silme komutu
- baglantı.Open();//baglantıyı acar kapaıtr
- sil.ExecuteNonQuery();//silme komutumuzu calıstırır
- baglantı.Close();//baglantıyı kapatır
- vericekme();//listview dedi verileri gunceller
- }
- catch
- {
- MessageBox.Show("Lütfen listeden silmek istediğiniz kişiyi seçiniz");
- }
- }
-
- private void button4_Click(object sender, EventArgs e)
- {
- sil();//silme fonksiyonunu calıstırır
- }
-
- private void button2_Click(object sender, EventArgs e)//onayla butonu
- {
- try
- {
- a = Convert.ToInt32(listView1.SelectedItems[0].Text);//listview de secili elemanın id sini deişkene atar
- //database deki verileri günceleme(düzeltme) komutları
- OleDbCommand düzelt1 = new OleDbCommand("UPDATE data SET ad='" + textBox1.Text + "' where id=" + a + "", baglantı);
- OleDbCommand düzelt2 = new OleDbCommand("UPDATE data SET soyad='" + textBox2.Text + "' where id=" + a + "", baglantı);
- OleDbCommand düzelt3 = new OleDbCommand("UPDATE data SET evtel='" + textBox3.Text + "' where id=" + a + "", baglantı);
- OleDbCommand düzelt4 = new OleDbCommand("UPDATE data SET ceptel='" + textBox4.Text + "' where id=" + a + "", baglantı);
- OleDbCommand düzelt5 = new OleDbCommand("UPDATE data SET adres='" + textBox5.Text + "' where id=" + a + "", baglantı);
- baglantı.Open();//baglantıyı acar
- düzelt1.ExecuteNonQuery();//guncelleme komutlarını calıstırır
- düzelt2.ExecuteNonQuery();//guncelleme komutlarını calıstırır
- düzelt3.ExecuteNonQuery();//guncelleme komutlarını calıstırır
- düzelt4.ExecuteNonQuery();//guncelleme komutlarını calıstırır
- düzelt5.ExecuteNonQuery();//guncelleme komutlarını calıstırır
- baglantı.Close();//baglantıyı kapatır
- vericekme();//listview deki verileri yeniler
- temizle();
- }
- catch { MessageBox.Show("Düzenleme İşlemi Başarısız"); }
- }
-
- private void temizle()//textboxların içeriğini temizler
- {
- textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); textBox5.Clear(); textBox6.Clear();
- }
-
- private void button1_Click(object sender, EventArgs e)
- {
- temizle();
- }
-
- private void button5_Click(object sender, EventArgs e)//düzenle butonu
- {
- try
- {// listview de secili olan kişinin bilgilerini textboxlara yazdırır
- textBox1.Text = listView1.SelectedItems[0].SubItems[1].Text;
- textBox2.Text = listView1.SelectedItems[0].SubItems[2].Text;
- textBox3.Text = listView1.SelectedItems[0].SubItems[3].Text;
- textBox4.Text = listView1.SelectedItems[0].SubItems[4].Text;
- textBox5.Text = listView1.SelectedItems[0].SubItems[5].Text;
- }
- catch { MessageBox.Show("Lütfen listeden düzenlenecek kişiyi seçiniz"); }
- }
-
- private void button6_Click(object sender, EventArgs e)//arama butonu
- {
- try
- {
- //databasedeki verileri okuma komutu
- OleDbCommand veri = new OleDbCommand("SELECT id, ad, soyad, evtel, ceptel, adres FROM data ORDER BY id", baglantı);
- OleDbDataReader oku = null;
- baglantı.Open();//baglantıyı acar
- oku = veri.ExecuteReader();//verileri cekme komutunu calıstırır
- aranan = textBox6.Text.ToUpper();//aranacak kelimeyi okur
- while (oku.Read())
- {
- //databasedeki verileri değişkenlere aktarır
- textBox1.Text = oku["ad"].ToString();
- soyad = oku["soyad"].ToString();
- evtel = oku["evtel"].ToString();
- ceptel = oku["ceptel"].ToString();
- adres = oku["adres"].ToString();
- ad = textBox1.Text.ToUpper();
- //databasedeki verileri deişkenlere aktarır
- textBox1.Clear();
- if (aranan == ad) //aranacak kelimeyle databasedeki veriyi karşılaştırır
- {//eger aranan kişi varsa onun bilgilerini messagebox da gosterir
- MessageBox.Show("ARANAN KİŞİNİN\nAdı:" + ad + "\nSoyadı:" + soyad + "\nTelefon 1:" + evtel + "\nTelefon 2:" + ceptel + "\nE-mail:" + adres + "");
- i = 1;
- }
- }
- if (i != 1) { MessageBox.Show("Aradığınız kişi rehberde kayıtlı değil"); }
- oku.Close();//okumayı kapatır
- baglantı.Close();// baglantıyı kapatır
- }
- catch { MessageBox.Show("Lütfen aramak istediğiniz kişinin adını yazınız"); }
- }
-
- private void button7_Click(object sender, EventArgs e)//yardı butonu
- {
- yeni.ShowDialog();
- }
-
- private void button8_Click(object sender, EventArgs e)//kapat butonu
- {
- Application.Exit();//programı kapatır
- }
-
- private void timer1_Tick(object sender, EventArgs e)
- {
- label1.Text = DateTime.Now.ToString();
- }
- }
- }
Bulunamayan yerleri bulmak için önce kaybolmak gerekir.
SORU SORMA KILAVUZU
Giriş | Sormadan Önce | İlgili Forumu dikkatlice seçin | Anlamlı ve duruma uygun konu başlıkları kullanın | Anlamsız soru cümleleri kurmayın | Açık, dilbilgisi kurallarına uygun ve sözdizimlerine dikkate ederek yazın | Sorunuz sizin için çok acil olsa bile, çok acil diye yazmayın | Sorununuz hakkında tam ve aydınlatıcı iletiler yazın | Amacınızı belirtin | Problemin belirtilerini tanımlayın, kendi tahminlerinizi değil | Sorunuz hakkında açık olun | Nezaket asla yaralamaz ve bazen oldukça yararlıdır | Boyut her şey değildir! | Kabalıkla ilgilenmek | Cevabı E-Posta ile istemeyin | İnsanlardan özel mesajla cevap vermelerini istemeyin | Eğer cevabı anlamadıysanız | Şayet bir cevap alamazsanız | Sorununuz çözüldükten sonra küçük bir not ile bildirin | Sorulmaması gereken türde sorular | İyi ve kötü sorular
Sorulara nasıl doğru düzgün cevap verilir
Kaptan Hector Barbossa
SORU SORMA KILAVUZU
Giriş | Sormadan Önce | İlgili Forumu dikkatlice seçin | Anlamlı ve duruma uygun konu başlıkları kullanın | Anlamsız soru cümleleri kurmayın | Açık, dilbilgisi kurallarına uygun ve sözdizimlerine dikkate ederek yazın | Sorunuz sizin için çok acil olsa bile, çok acil diye yazmayın | Sorununuz hakkında tam ve aydınlatıcı iletiler yazın | Amacınızı belirtin | Problemin belirtilerini tanımlayın, kendi tahminlerinizi değil | Sorunuz hakkında açık olun | Nezaket asla yaralamaz ve bazen oldukça yararlıdır | Boyut her şey değildir! | Kabalıkla ilgilenmek | Cevabı E-Posta ile istemeyin | İnsanlardan özel mesajla cevap vermelerini istemeyin | Eğer cevabı anlamadıysanız | Şayet bir cevap alamazsanız | Sorununuz çözüldükten sonra küçük bir not ile bildirin | Sorulmaması gereken türde sorular | İyi ve kötü sorular
Sorulara nasıl doğru düzgün cevap verilir