Yapacağımız Windows uygulamasında programda bir veritabanı bağlantısına ihtiyaç duyabiliriz. Bu yapacağımız uygulamalarda veri girmek, güncellemek ve silmek için bir çok farklı veritabanı kullanabilmek mümkündür. C# sql veritabanı bağlantısını yaparak SQL veritabanına bir çok veri girmek, veri çekmek, silmek ve güncellemek mümkün olacaktır.
Bu sayede istediğiniz her hangi bir fikre dayalı bir uygulama yazacağınız zaman ve birde bunun her bilgisayarda çalışabilmesi için ve büyük işlerde kullanmayacaksanız SQL veritabanı kullanabilirsiniz. SQL veritabanını kullanmak istiyorsanız ise programın kurulacağı bilgisayarda SQL server hizmetlerinin çalışıyor olması yada sizin programın setup ‘una bu kurulum dosyalarını eklemeniz gerekecektir.
C# SQL Bağlantısı
Her hangi bir veritabanına bağlantı oluşturmadan öncesinde bizim bilgisayarımızdan SQL Server Management Stduio uygulamasına girip yapıp bir veritabanı oluşturmamız gerekecektir. Bunun için ise Management Studio programını açıp var olan bir veritabanı yada yeni oluşturabileceğiniz bir veritabanını kullanabilirsiniz. Bu kısmı videonun [00:20 – 02:38] aralığında yaptığım işlemleri inceleyebilirsiniz. Tablonun kolonlarını doldurma işlemini gerçekleştirdikten sonrasında ise artık Visual Studio ‘da açacağımız Windows formuna geçiş sağlayabiliriz.
C# SQL bağlantı cümlesine geçiş yapmadan öncesinde bizlerin bu forma bir veritabanı kullanacağını bildirmemiz gerekecektir. Kullanacağımız bu veritabanı bilgilendirmesinden sonrasında ise formumuza yazacağımız veritabanı komutları geçerlilik sağlayacak ve başarılı bir şekilde veritabanı işlemlerini gerçekleştirebilir hale geleceğiz. Bunun için ise açılan Windows Formunda formun üzerine iki kez tıklayarak kod ekranına geçin ve kod ekranının en üstünde :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using satırlarına gri ile işaretlemiş olduğum satırı ekleyerek artık bizim bir SQL veritabanı bağlantısını kullanacağımızı belli etmiş bulunuyoruz. Bundan sonrasında ise artık bazı tanımlamalar yaparak veritabanı bağlanma işlemine geçebiliriz.
public partial class Form1 : Form { public Form1() { InitializeComponent(); } SqlConnection con; SqlDataAdapter da;
Yukarıda yer alan publick partial class kısmına tanımladığımız iki adet değişken bulunmaktadır. İlerleyen vakitlerde buraya tanımlayacağımız değişkenler artıp yada azalabilir fakat burada tanımladığımız tüm değişkenleri formun içinde her yerlerde kullanabilmemiz mümkün olacaktır. Burada yer alan iki farklı değişken için açıklama yapacak olur isek :
SqlConnection Bu nesnemiz bizim için Sql veritabanına bağlantı yolunu yazdığımız ve bir isim atadığımız nesnedir. Bizler ise çağrışım yapabilmesi adına con ismini atıyoruz.
SqlDataAdapter Bu nesnemiz ise bizim için veritabanından verileri alıp bir köprü görevi gibi taşıdığı ve DataSet ‘e aktardığı bir nesnedir. Bizler yine çağrışım yapabilmesi adına da değişkenini atıyoruz. İki parametre alır ve bunlar : sorgu cümleciği, bağlantı ‘dır.
Öncelikle veritabanında bazı kavramları anlamak bu kodları sürekli kullanacağımız için C# Sql bağlantısı kodları sadece ezberlemek değil mantığını da kavramak gerekir. Bundan sonrasında yapacağımız işlem ise artık bizim C# Sql connection string cümlesini yazmak olacaktır. Bu yazacağımız kısmı ise Form Load ‘ına yazarak formumuz her yüklendiğinde bu veritabanı bağlantısı yolunu yapsın diye yazılabilir yada yapacağınız programa göre farklı kısımlara, butonlara yazabilirsiniz.
private void Form1_Load(object sender, EventArgs e)
{
con = SqlConnection(“Data Source=localhost;Initial Catalog=webdunya;Integrated Security=True”);}
Form load kısmına yukarıda public olarak tanımladığımız con olan ve türü SqlConnection olan nesnesine bir bağlantı yolu atamak için nesneye atadığımız değişkeni yazarak ardından new SqlConnection yazarak yeni bir değer atayacak olduğumuzu belirtiyoruz.
Artık bağlantı yolumuzu belirledikten sonrasında ise yapacağımız tek bir şey kaldı C# Sql datagridview veri çekme işlemini gerçekleştireceğiz. İşlemin en başında kendimiz veritabanına el ile bir kaç satır veri girerek programımızda bir hata yaptık mı yada düzgün çalışıyor mu adına kontrol edebilmek adına formunuzun görünümünden datagridview nesnesini formun üzerine sürükleyerek bırakın. Bundan sonrasında ise artık C# Sql veri çekme işlemini gerçekleştirme adımlarına geçebiliriz.
private void button1_Click(object sender, EventArgs e)
{
con.Open();
da = new SqlDataAdapter(“select * from bilgiler”, con);
DataSet ds = new DataSet();
da.Fill(ds, “sanaltablo”);
dataGridView1.DataSource = ds.Tables[“sanaltablo”];
con.Close();
}
- Yukarıda yazanları teker teker ele alacak olur isek öncelikle bizler “con.Open()” diyerek Form Load ‘ında tanımlanmış olan veritabanına bağlantı yolunu tanımlamış olduğumuz değişken olan “con“‘a atamıştık. Bu bağlantı yolunu bu değişkenden artık açmasını isteyerek veritabanına bağlanmış oluyoruz.
- Tekrar tipi SqlDataAdapter olan ve tanımladığımız “da” isminde ki bu nesneye ise bu veritabanından veri alabilmek adına bir görev yükleyerek iki parametre aldığını belli etmiştik. Bunların ilki sorgu ikincisi ise bağlantı yoluydu. Bu da nesnemize ise bizler oluşturduğumuz tablodan veri çekebilmek adına bildiğimiz bir sorgu cümlesini iki tırnak içerisinde yazıp yanına virgül koyup bağlantı yolu nesnemizi yazıyoruz.
- Ardından köprü görevi gören DataAdapter ‘den gelen verileri üzerine almasını istediğimiz bir “DataSet” nesnesi tanımlamamız gerekiyor ve bize isminden çağrışım verebilmesi ds seçiyorum.
- Bir alt satırda ise yazdığımız kodu açıklayacak olur isek “da.Fill” dememiz DataAdapter nesnesinden gelen verileri doldur demektir. Pekala neye ? Parantez içine öncelikle tanımladığımız DataSet ‘in değişken ismini yazıp yanında ki kısma ise program için oluşacak sanal tablo ismini yazıyoruz. Ben anlaşılabilir olması için sanaltablo ismini kullandım fakat siz daha anlamlı bir tablo ismi kullanabilirsiniz.
- Artık datagridview nesnemizin datasource özelliğimize ise DataAdapter den verileri alan ve programda oluşturacağımız fakat veritabanında olmayan tablodan verileri çekmek için DataSet ‘imizi kullanıyoruz.
- Yaptığımız bu işlemden sonrasında ise artık bağlantımızı kapatmalıyız. Bunun için ise “con.Close()” yazıyoruz.
Şimdi ise bir DataSet ‘in ne iş yaptığını daha fazla açıklayacak olur isek :
DataSet Bu nesnemiz bizim DataAdapter ‘in köprü kurup veritabanından bilgileri aldıktan sonrasında DataAdapter nesnemiz DataSet ‘e aktarır. DataSet nesnemiz ise veritabanında olmayan programda bir sanal tablo oluşturarak verileri burada saklar. Yani 1 milyon satırlık veritabanınız varsa bunları her program çalıştırdığında tekrardan çekmek yerine oluşan bu sanal tablodan çekerek veritabanı yükünü azaltır ve güncellenen verileri üzerinde değişiklik yapar.
C# Sql veritabanı oluşturma ve C# Sql veritabanı bağlantısı nasıl yapılır hakkında artık detaylı bilgileri öğrendiniz. Bundan sonrasında ise artık veri güncelleme, silme, kaydetme gibi işlem basamaklarına geçebilirsiniz.