C# ile Sql Server Veritabanı Kayıt Güncelleme İşlemleri

csharp-sqlserver
csharp-sqlserver

Bundan önceki yazılarımda  veritabanına kayıt ekleme  işleminden  bahsetmiştim.  Şimdi ise veritabanı  içerisinden  istediğimiz kaydı  bulduktan  sonra nasıl güncelleme işlemi    yapabileceğimizi anlatacağım.  Örneğimizde kullanacağımız DataAdapter  ve DataReader sınıflarını  inceleyelim.   SqlDataAdapter; bellek üzerinde oluşturulan tablo ve kayıtların, veritabanına gönderilmesi ya da veritabanındaki tabloların belleğe çekilmesi işlemlerini gerçekleştiren sınıftır. SqlDataReader; veritabanından okunan kayıtların bellek üzerinde tutulmasını sağlayan sınıftır. Bağlantı açık olduğu sürece çalışır ve aynı anda sadece bir kaydı bellekte saklayabilir. Veritabanı işlemleriyle ilgili önceki yazılarımızı okumayanlar için Sql veritabanımızdaki musteriler tablomuzu aşağıdaki gibi hazırladığımızı belirtmek isterim.

musteriler
musteriler

Örneğimizin nasıl çalışacağını açıklayalım. Öncelikle üzerinde değişiklik yapmak istediğimiz müşterinin bilgilerini veritabanından çekip, bu bilgileri form üzerindeki kontrollere aktaracağız. Sonra gerekli değişiklikleri yapıp , yeni verileri eskisiyle değiştireceğiz. Bunun için aşağıdaki gibi formumuzu oluşturuyoruz.

Kayıt Güncelleme
Kayıt Güncelleme

Formuzun tasarımı bittikten sonra öncelikle Ara butonu yardımıyla müşteri bilgilerini bize getirecek olan kodlarımızı yazalım.

Kodlar

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Data.SqlClient; 
namespace M { public partial class Form1 : Form 
{ 
  public Form1() 
   { 
     InitializeComponent(); 
   } 
     static string conString = "Data Source=MUSTAFA\\SQLEXPRESS;Initial Catalog=MusteriTakip;Integrated Security=True";
     SqlConnection baglanti = new SqlConnection(conString); 

     private void btn_Ara_Click(object sender, EventArgs e) 
     { 
       baglanti.Open(); 
       string kayit = "SELECT * from musteriler where [email protected]"; //musterino parametresine bağlı olarak müşteri bilgilerini çeken sql kodu 
       SqlCommand komut = new SqlCommand(kayit, baglanti); 
       komut.Parameters.AddWithValue("@musterino", txt_MNo.Text); //musterino parametremize textbox'dan girilen değeri aktarıyoruz. 
       SqlDataAdapter da = new SqlDataAdapter(komut); 
       SqlDataReader dr = komut.ExecuteReader(); 
       if (dr.Read()) //Sadece tek bir kayıt döndürüleceği için while kullanmadım. 
       { 
         lblMusterino.Text = dr["musterino"].ToString(); 
         txt_gTCNo.Text = dr["tcno"].ToString(); 
         txt_gIsim.Text = dr["isim"].ToString(); 
         txt_gSoyisim.Text = dr["soyisim"].ToString(); 
         txt_gTelNo.Text = dr["telefon"].ToString(); 
         txt_gAdres.Text = dr["adres"].ToString(); 
//Datareader ile okunan verileri form kontrollerine aktardık. 
       } else 
         MessageBox.Show("Müşteri Bulunamadı."); 
         txt_MNo.Text = ""; 
         baglanti.Close(); 
} 
    private void btn_Guncelle_Click(object sender, EventArgs e) 
        { 
           baglanti.Open(); 
           string kayit = "update musteriler set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected]"; 
// müşteriler tablomuzun ilgili alanlarını değiştirecek olan güncelleme sorgusu.    SqlCommand komut = new SqlCommand(kayit, baglanti); 
//Sorgumuzu ve baglantimizi parametre olarak alan bir SqlCommand nesnesi oluşturuyoruz. 
           komut.Parameters.AddWithValue("@tcno", txt_gTCNo.Text); 
           komut.Parameters.AddWithValue("@isim", txt_gIsim.Text); 
           komut.Parameters.AddWithValue("@soyisim", txt_gSoyisim.Text); 
           komut.Parameters.AddWithValue("@telefon", txt_gTelNo.Text); 
           komut.Parameters.AddWithValue("@adres", txt_gAdres.Text); 
           komut.Parameters.AddWithValue("@musterino", lblMusterino.Text); 
//Parametrelerimize Form üzerinde ki kontrollerden girilen verileri aktarıyoruz. 
           komut.ExecuteNonQuery(); 
//Veritabanında değişiklik yapacak komut işlemi bu satırda gerçekleşiyor. 
           baglanti.Close(); MessageBox.Show("Müşteri Bilgileri Güncellendi."); 
} 

Bu yazımda Sql Server veritabanından kayıt güncelleme işlemlerini anlattım . Bir sonraki yazımda görüşmek üzere , bilgiyle kalın …

Bir Cevap Yazın