ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
C# SQL BAĞLANTISI - C# ile SQL İŞLEMLERİ

C# ile SQL Server a bağlanıp verileri okuma ve yazma işlemleri için öncelikle projemize referans olarak aşağıdaki satırları eklememiz gerekiyor

using System.Data;
using System.Data.SqlClient;

Daha sonra ise projemize bağlantı kuracağımız SQL Server ın bağlantı bilgilerini girmemiz gerekiyor. Bunun için yazacağımız SQL bağlantı cümlesi -SQL Connection String- aşağıdaki gibidir.

Data Source=FAUK; Initial Catalog=deneme; User Id=sa; password=1;

Data Source = [Server Adresi - IP - Bilgisayar Adı...];
Initial Catalog = [Bağlanılacak Veritabanı Adı];
User Id = [Bağlantı Kullanıcı Adı];
password = [Bağlantı Şifresi];

FK-gizle

Şimdi C# da verileri girmek ve girilen verileri çekip görmek için bi arayüz oluşturalım. Örnek olarak aşağıdaki şekilde bi tasarım yaptım, Verilerin girişi için TextBox, işlemler için Button, ve Veritabanındaki bilgileri gözlemlemek için DataGridView kullandım.

Kolay anlaşılması ve kullanılması için textbox ların sonundaki 1-2-3... sayıları yerine Ad, Soyad, Tel, ID şeklinde isimler verdim. Aynı şekilde butonları da isimlendirdim. Şimdi programımızın kodlarını inceleyecek olursak kodlar aşağıdaki gibi;

-------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace w_site_sql_c_sharp_connection
{
    public partial class Form1 : Form
    {
        SqlConnection conn = new SqlConnection("Data Source=FAUK; Initial Catalog=deneme; User Id=sa; password=1;");
 
        public Form1()
        {
            InitializeComponent();
            DatagridYenile();
        }
 
        private void buttonEKLE_Click(object sender, EventArgs e)
        {
            conn.Open();
            SqlCommand kmt = new SqlCommand("Insert into  tbKisiler VALUES  ('" + textBoxID.Text + "','" + textBoxADI.Text + "','" +textBoxSOYADI.Text  + "','"+ textBoxTEL.Text+"')", conn);
            kmt.ExecuteNonQuery();
            conn.Close();
            DatagridYenile();
        }
 
        protected void DatagridYenile()
        {
            conn.Open();
            DataTable tbl = new DataTable();
            SqlDataAdapter adptr = new SqlDataAdapter("Select ID,adi,soyadi,tel from tbKisiler ", conn);
            adptr.Fill(tbl);
            conn.Close();
            dataGridView1.DataSource = tbl;
        }
 
        private void buttonSIL_Click(object sender, EventArgs e)
        {
            conn.Open();
            SqlCommand kmt = new SqlCommand("DELETE  tbKisiler where ID=" + dataGridView1.CurrentRow.Cells["ID"].Value.ToString() , conn);
            kmt.ExecuteNonQuery();
            conn.Close();
            DatagridYenile();
        }
    }
}
-------
 
Şimdi kodlarımızı inceleyecek olursak, öncelikle SQL Server ımızı conn isminde tanımladık.
SqlConnection conn = new SqlConnection("Data Source=FAUK; Initial Catalog=deneme; User Id=sa; password=1;");
Daha sonra bütün SQL işlemlerinden önce conn.Open() ve işlem bitiminde conn.Close() kodlarını görüyoruz. SQL de işlem yapmadan önce bağlantıyı açmamız gerekiyor. Bu yüzden öncelikle bağlantıyı açıyoruz. Ardından işlemimizi gerçekleştirip, en son bağlantıyı kapatarak işlemimizi sonlandırıyoruz.
 
SQL işlemlerinde 2 farklı komut uygulaması görüyoruz. SQL de İNSERT - UPDATE - DELETE işlemleri SQL e bir komut verir ve iş yaptırırlar, yani SQL verileri üzerinde değişiklik yaparlar. Bunları aynı grup altında toplarsak SELECT bunlardan farklıdır. SELECT ile SQL de değişiklik yapmaz, olan verileri çekeriz. SQL komutları için;
 
SqlCommand kmt = new SqlCommand("DELETE-UPDATE-INSERT" , conn);
kmt.ExecuteNonQuery();
 
şeklinde kullanım uygundur. Fakat SELECT ile veri çekerken bu şekilde kullanamayız. Çektiğimiz verileri bir yere aktarıp daha sonra kullanır, o veriler üzerinde çalışırız. Bu örnekte DataTable a aktarıldığını gördük, kodu inceleyecek olursak;
 
DataTable tbl = new DataTable();
SqlDataAdapter adptr = new SqlDataAdapter("SELECT...", conn);
adptr.Fill(tbl);
 
Öncelikle çekilen verileri barındırmak için DataTable oluşturduk. Ardından DataAdapter ile SELECT ifademizi kullanıp verilerimizi çektik. Son adımda ise bu çekilen verileri Fill komutu ile oluşturulan DataTable a aktardır. Şimdi sıra bu verileri kullanmaya geldi. Bu çektiğimiz verileri DataGridView de göstermek istiyorduk, bunun için ise;
 
dataGridView1.DataSource = tbl;
 
kodunu kullanmak yeterli oldu. Verileri barındırdığımız tbl isimli DataTable ı DataGridView e verikaynağı olarak gösterdik ve böylece çekilen verileri DataGridView dan takip edebileceğiz

Programımızı çalıştırdığımızda daha önce 1kayıt girdiğim için ilk görüntü şu şekilde oldu.

Yeni kişi eklemek için gerekli alanları doldurup EKLE butonuna bastığımda ise 

DataGridView üzerinde herhangi bir satırı seçip SİL butonuna bastığımda ise




Diğer Yazılarımdan Seçmeler...