C# ile Veritabanına Bağlanma ve İşlem Yapma
#1
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#
  1. using System;
  2. using System.Data.OleDb;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace Telefon_Rehberi_2006
  11. {
  12. public partial class Form1 : Form
  13. {
  14. //DATABASE e BAĞLANTI
  15. OleDbConnection baglantı = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB: Database Password=nevzat;Data Source=rehber.mdb");
  16. //DATABASE e BAĞLANTI
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. }
  21. int a,i;
  22. string aranan,ad,soyad,evtel,ceptel,adres;
  23. private void Form1_Load(object sender, EventArgs e)//program çalıstırıldıgında yapılacak işlemler
  24. {
  25. timer1.Start();
  26. vericekme();//databasedeki veriyi listview e aktarır
  27. listView1.ListViewItemSorter = new Sıralama();//listview deki verilerimizi isme gore alfabetik sıraya sokar
  28. }
  29. public void vericekme() // databaseden veri cekmek ve guncellemek için kullandığım fonksiyon
  30. {
  31. try
  32. {
  33. //data baseimizdeki verileri okuma komutu
  34. OleDbCommand veri = new OleDbCommand("SELECT id, ad, soyad, evtel, ceptel, adres FROM data ORDER BY id", baglantı);
  35. OleDbDataReader oku = null;
  36. baglantı.Open();//baglantıyı acar
  37. oku = veri.ExecuteReader();//verileri cekme komutunu calıstırır
  38. listView1.Items.Clear();//listview in içeriğini temizler
  39. while (oku.Read())//database deki verileri listview e yazdırır
  40. {
  41. ListViewItem rehberItem = new ListViewItem(oku["id"].ToString());
  42. rehberItem.SubItems.Add(oku["ad"].ToString());
  43. rehberItem.SubItems.Add(oku["soyad"].ToString());
  44. rehberItem.SubItems.Add(oku["evtel"].ToString());
  45. rehberItem.SubItems.Add(oku["ceptel"].ToString());
  46. rehberItem.SubItems.Add(oku["adres"].ToString());
  47. listView1.Items.Add(rehberItem);
  48. }
  49. oku.Close();
  50. baglantı.Close();//baglantıyı kapatır
  51. }
  52. catch
  53. {
  54. 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");
  55. }
  56. }
  57.  
  58. private void kaydet()//database e veri kaydetmek için kullandığım fonksiyon
  59. {
  60. try
  61. {//kayıt ekleme komutu
  62. OleDbCommand kaydet = new OleDbCommand("INSERT INTO data (ad, soyad, evtel, ceptel, adres) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')", baglantı);
  63. baglantı.Open();//database baglantısını acar
  64. kaydet.ExecuteNonQuery();//kaydetme komutumuzu calıstırır
  65. baglantı.Close();//database baglantısını kapatır
  66. vericekme();//listview deki verileri gunceller
  67. temizle();//textboxlarının içini temizler
  68. }
  69. catch
  70. {
  71. MessageBox.Show("Kayit yapılamadı. Lutfen tekrar deneyiniz.");
  72. }
  73. }
  74.  
  75. private void button3_Click(object sender, EventArgs e)
  76. {
  77. kaydet();//kaydetme fonksiyonunu calıstırır
  78. }
  79.  
  80. private void sil()//silme fonksiyonu
  81. {
  82. try
  83. {
  84. a = Convert.ToInt32(listView1.SelectedItems[0].Text);//listview de secili elemanın id sini değişkene atar
  85. OleDbCommand sil = new OleDbCommand("DELETE FROM data WHERE id=" + a + "", baglantı);//databaseden silme komutu
  86. baglantı.Open();//baglantıyı acar kapaıtr
  87. sil.ExecuteNonQuery();//silme komutumuzu calıstırır
  88. baglantı.Close();//baglantıyı kapatır
  89. vericekme();//listview dedi verileri gunceller
  90. }
  91. catch
  92. {
  93. MessageBox.Show("Lütfen listeden silmek istediğiniz kişiyi seçiniz");
  94. }
  95. }
  96.  
  97. private void button4_Click(object sender, EventArgs e)
  98. {
  99. sil();//silme fonksiyonunu calıstırır
  100. }
  101.  
  102. private void button2_Click(object sender, EventArgs e)//onayla butonu
  103. {
  104. try
  105. {
  106. a = Convert.ToInt32(listView1.SelectedItems[0].Text);//listview de secili elemanın id sini deişkene atar
  107. //database deki verileri günceleme(düzeltme) komutları
  108. OleDbCommand düzelt1 = new OleDbCommand("UPDATE data SET ad='" + textBox1.Text + "' where id=" + a + "", baglantı);
  109. OleDbCommand düzelt2 = new OleDbCommand("UPDATE data SET soyad='" + textBox2.Text + "' where id=" + a + "", baglantı);
  110. OleDbCommand düzelt3 = new OleDbCommand("UPDATE data SET evtel='" + textBox3.Text + "' where id=" + a + "", baglantı);
  111. OleDbCommand düzelt4 = new OleDbCommand("UPDATE data SET ceptel='" + textBox4.Text + "' where id=" + a + "", baglantı);
  112. OleDbCommand düzelt5 = new OleDbCommand("UPDATE data SET adres='" + textBox5.Text + "' where id=" + a + "", baglantı);
  113. baglantı.Open();//baglantıyı acar
  114. düzelt1.ExecuteNonQuery();//guncelleme komutlarını calıstırır
  115. düzelt2.ExecuteNonQuery();//guncelleme komutlarını calıstırır
  116. düzelt3.ExecuteNonQuery();//guncelleme komutlarını calıstırır
  117. düzelt4.ExecuteNonQuery();//guncelleme komutlarını calıstırır
  118. düzelt5.ExecuteNonQuery();//guncelleme komutlarını calıstırır
  119. baglantı.Close();//baglantıyı kapatır
  120. vericekme();//listview deki verileri yeniler
  121. temizle();
  122. }
  123. catch { MessageBox.Show("Düzenleme İşlemi Başarısız"); }
  124. }
  125.  
  126. private void temizle()//textboxların içeriğini temizler
  127. {
  128. textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); textBox5.Clear(); textBox6.Clear();
  129. }
  130.  
  131. private void button1_Click(object sender, EventArgs e)
  132. {
  133. temizle();
  134. }
  135.  
  136. private void button5_Click(object sender, EventArgs e)//düzenle butonu
  137. {
  138. try
  139. {// listview de secili olan kişinin bilgilerini textboxlara yazdırır
  140. textBox1.Text = listView1.SelectedItems[0].SubItems[1].Text;
  141. textBox2.Text = listView1.SelectedItems[0].SubItems[2].Text;
  142. textBox3.Text = listView1.SelectedItems[0].SubItems[3].Text;
  143. textBox4.Text = listView1.SelectedItems[0].SubItems[4].Text;
  144. textBox5.Text = listView1.SelectedItems[0].SubItems[5].Text;
  145. }
  146. catch { MessageBox.Show("Lütfen listeden düzenlenecek kişiyi seçiniz"); }
  147. }
  148.  
  149. private void button6_Click(object sender, EventArgs e)//arama butonu
  150. {
  151. try
  152. {
  153. //databasedeki verileri okuma komutu
  154. OleDbCommand veri = new OleDbCommand("SELECT id, ad, soyad, evtel, ceptel, adres FROM data ORDER BY id", baglantı);
  155. OleDbDataReader oku = null;
  156. baglantı.Open();//baglantıyı acar
  157. oku = veri.ExecuteReader();//verileri cekme komutunu calıstırır
  158. aranan = textBox6.Text.ToUpper();//aranacak kelimeyi okur
  159. while (oku.Read())
  160. {
  161. //databasedeki verileri değişkenlere aktarır
  162. textBox1.Text = oku["ad"].ToString();
  163. soyad = oku["soyad"].ToString();
  164. evtel = oku["evtel"].ToString();
  165. ceptel = oku["ceptel"].ToString();
  166. adres = oku["adres"].ToString();
  167. ad = textBox1.Text.ToUpper();
  168. //databasedeki verileri deişkenlere aktarır
  169. textBox1.Clear();
  170. if (aranan == ad) //aranacak kelimeyle databasedeki veriyi karşılaştırır
  171. {//eger aranan kişi varsa onun bilgilerini messagebox da gosterir
  172. MessageBox.Show("ARANAN KİŞİNİN\nAdı:" + ad + "\nSoyadı:" + soyad + "\nTelefon 1:" + evtel + "\nTelefon 2:" + ceptel + "\nE-mail:" + adres + "");
  173. i = 1;
  174. }
  175. }
  176. if (i != 1) { MessageBox.Show("Aradığınız kişi rehberde kayıtlı değil"); }
  177. oku.Close();//okumayı kapatır
  178. baglantı.Close();// baglantıyı kapatır
  179. }
  180. catch { MessageBox.Show("Lütfen aramak istediğiniz kişinin adını yazınız"); }
  181. }
  182.  
  183. private void button7_Click(object sender, EventArgs e)//yardı butonu
  184. {
  185. Form2 yeni = new Form2();//yardım formunu acar
  186. yeni.ShowDialog();
  187. }
  188.  
  189. private void button8_Click(object sender, EventArgs e)//kapat butonu
  190. {
  191. Application.Exit();//programı kapatır
  192. }
  193.  
  194. private void timer1_Tick(object sender, EventArgs e)
  195. {
  196. label1.Text = DateTime.Now.ToString();
  197. }
  198. }
  199. }





  Alıntı
Bu mesajı beğenenler:
#2
Merhaba, paylaşım için teşekkürler...

Gördüğüm kadarıyla Visual Basic, Vb.NET ile C#' a yaklaşmış.. Wink



  Alıntı
Bu mesajı beğenenler:
#3
Evet Zeki Hocam Haklısınız Mantık Hemen hemen tüm programlama dillerinde aynı bende bir veri tabanı bağlantısı örneği ekledim fakat C# değilde VB.net Yapılma İlgilenenlere Kolay Gelsin...


Eklenti Dosyaları
.rar   MsAccess VeriAlma.rar (Boyut: 55,98 KB / İndirilme: 773)



  Alıntı
Bu mesajı beğenenler:
#4
Çok teşekkürler.



  Alıntı
Bu mesajı beğenenler:
#5
2 Saat su olayı aradım sonunda burda buldum çok teşekkürler..



  Alıntı
Bu mesajı beğenenler:
#6
Silme kısmındaki
a = Convert.ToInt32(listBox1.SelectedItem[0].text); kısmındaki texti hata olarak gosteriyor ve veriyi silmiyor Neden olabilir ?
Simdiden tesekkurler



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  C# Access veri tabanındaki verilerle Giriş Yapma creaton325 4 7.619 25-04-2013, 13:58
Son Mesaj: creaton325

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi