Öncelikle kısaca C# ile SQL Server bağlantısı hakkında bilgi vereyim. C# uygulamamız ile SQL Server arasındaki bağlantıyı ADO.NET sağlar. Yani ADO ( Activex Database Object)
uygulamamız ile Sql arasında köprü görevi görüyor diyebiliriz. Ayrıca
ADO.NET kütüphanesini bütün uygulamalarımızda kullanmamız mümkündür. C#
ile SQL Server bağlantısı hakkındaki ayrıntılı bilgiye aşağıdaki linkten ulaşabilirsiniz arkadaşlar.
C# SQL Server Veritabanına Bağlanma
Şimdi Combobox’ a veri çekme uygulamamıza geçelim arkadaşlar.
Program: Programımızın yapacağı işlem SQL Server ile oluşturulmuş olan veritabanındaki herhangi bir tabloda bulunan bir alandaki verileri C# uygulamamızdaki Combobox’ a aktaracağız.
>>> Öncelikle yeni bir proje açalım ve formumuza bir Combobox nesnesi ve bir de Button ekleyelim.
>>> Uygulamamızın görüntüsü aşağıdaki gibi olacaktır.
SqlServerdan-Comboboxa-VeriÇekme - 1
>>> Daha sonra aşağıdaki Kodları uygulamıza ekliyoruz.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 55 56
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace SqlServerdan_Comboboxa_VeriÇekme
{
public partial class Form1 : Form
{
//Burada ise bağlantı cümlemizi yazdık.Bu bağlantı cümlesini buraya yazmamızın sebebi buraya yazdık ve baglan ismindeki bağlantı
//cümlemizi global olarak tanımladık ve bu sayede istediğimiz kod satırında kullanabilcedeğiz.
SqlConnection baglan = new SqlConnection("Data Source=localhost\\Sqlexpress;Initial Catalog=bilgiler;Integrated Security=true");
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//Daha Fazlası İçin GorselYazilim.Net Adresini Ziyaret Edin...
//Öncelikle if ile bağlantımızı kontrol ettik ve eğer bağlantı kapalı ile açması için gerekli kod satırını yazdık.
if (baglan.State == ConnectionState.Closed) baglan.Open();
//Sonra sorgu adında değişken oluşturduk ve buna kimlik tablosundaki adi ve sadi alanındaki verileri aktardık.
//Biz sadece adı v ve soyadını çekeceğimiz için adi,sadi alan adlarını yazdık başka bir alandaki verileri çekecek olsaydık o alanın
//ismini yazmamız gerekecekti.
string sorgu = "Select adi,sadi from kimlik";
//Aşağıdaki kodda ise SqlCommand sınıfından komut isminde bir nesne oluşturdu.Bu nesneye ise sorgumuzu aktardık.
SqlCommand komut = new SqlCommand(sorgu, baglan);
//Burada ise SqlDataReaderin yaptığı işlem yukardaki komutu çalıştırıyor ve gelen verileri oku nesnesine aktarıyor.
SqlDataReader oku = komut.ExecuteReader();
//Burda ise ComboBox'ı temizledik çünkü butona sürekli tıklandığında aynı verileri eklememesi için.
comboBox1.Items.Clear();
//Burda ise While döngüsü ile verilerimizi tek tek okuttuk ve ComboBox nesnemize aktardık.
while (oku.Read())
{
//Burda şunu açıklayayım buradaki mantık şu oku diyoruz neyi okuyacak yukardaki sorgumuzu sonra ise GetString
//ile getir diyoruz neyi 0 yazmışız çünkü Select ifademizde yukarda adi başta olduğu için.
//Eğer önce adını sonra soyadını çekecek olsaydık yukardaki sorgu ifadesine göre birinci getstringe 1 ikincisine
//ise 0 yazardık.
comboBox1.Items.Add(oku.GetString(0) + " " + oku.GetString(1));
}
//İşlemimiz bittikten sonra ise her zaman baglantımızı kapatıyoruz...
baglan.Close();
}
}
}
|
>>> Arkadaşlar
kodlar size fazla gözükebilir ama aslında çok basit bir uygulama. Her
kod için ayrı ayrı açıklama yaptım. Birazda o yüzden uzun oldu.
Programımızın Ekran Görüntüleri
>>> Programımızı İlk Çalıştırdığımda Gördüğünüz Gibi ComboBox Nesnemiz Boş.
SqlServerdan-Comboboxa-VeriÇekme - 2
>>> Burada İse Gördüğünüz Gibi Verileri Çek Butonuna Tıkladıktan Sonra Veriler ComboBox Nesnemize Eklendi.
SqlServerdan-Comboboxa-VeriÇekme - 3
C#’
da SQL Server Management Studio Express‘ de bulunan bir veritabanından
ComboBox nesnesine veri çekmeyi gördük arkadaşlar, Umarım Yararlı Olur.
|
Hiç yorum yok:
Yorum Gönder