SQL Server Veritabanı işlemleri [Kayıt Liseteleme, Ekle, Güncelle, Sil]

By Enver Hemen - Mayıs 01, 2019


Merhaba, bu yazımda SQL Server'da geliştirmek istediğiniz bir Veritabanı için Kayıt Listeleme, Kayıt Ekleme, Kayıt Güncelleme ve son olarakda Kayıt Silme nasıl oluyor onları işleyeceğim.

SQL veritabanı işlemleri sorugularını çalıştırmak için kullanınal OleDbCommand nesnesinde olduğu gibi komut yürütmek için 4 çeşit execute metodunu da tanıtacağım ve bunları da kodlarımız içinde kullanacağız. 

  • ExecuteReader: Yürütülen komut sonrasında geriye DataReader nesnesi döndürür.
  • ExecuteNonQuery: Eklme, silme, güncelleme gibi sorgulardan etkilenen satır sayısını geriye getirir.
  • ExecuteScalar: Bu metot, geriye tek bir değer döndüren sorgular için kullanılır. Bu değer kayıt sayısı, bir alanın değeri gibi değerler olabilir.
  • ExecuteXMLReader: Yürütülen komut sonrasında geriye XML Reader nesnesi döndürür. 
Oluşturmuş olduğumuz veritabanındaki ürünler tablosunda listeleme, ekleme, güncelleme, silme işlemlerini SqlCommand kullanarak veritabanı işlemlerini sırasıyla yapalım.

KAYIT LİSTELEME

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        SqlConnection baglanti = new SqlConnection
            ("Data Source = DESKTOP-LOCAL\\SQLEXPRESS; Initial Catalog=stok; Integrated Security=True; Connect Timeout=30; Encrypt=False; TrustServerCertificate=False");
        SqlCommand komut = new SqlCommand();
        SqlDataAdapter adaptor = new SqlDataAdapter();
        private void Form1_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            if ((baglanti.State == ConnectionState.Closed)) baglanti.Open();
            komut = new SqlCommand("SELECT * FROM urunler", baglanti);
            SqlDataReader reader = komut.ExecuteReader();
            reader.Read();

            if (reader.HasRows)
            {
                txt_ad.Text = reader["ad"].ToString();
                txt_fiyat.Text = reader.GetDecimal(4).ToString();
            }
            reader.Close();
            adaptor.SelectCommand = new SqlCommand
                ("select ad,fiyat from urunler", baglanti);
            adaptor.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            baglanti.Close();
        }


Burada, TextBox nesnelerinin veritabanı ile bağlantısını kurmak için SQLCommand nesnesinin ExecuteReader metodu ile veritabanından verileri çekiyoruz. Reader.Read() metodu ile okuma işlemini başlatıyoruz. 

KAYIT EKLEME

private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                DataSet ds = new DataSet();
                if (baglanti.State == ConnectionState.Closed) baglanti.Open();
                ds.Clear();
                SqlCommand komut = new SqlCommand
                    ("INSERT INTO urunler (ad, fiyat) VALUES ('" + txt_ad.Text + "','" + txt_fiyat.Text + "')", baglanti);
                komut.ExecuteNonQuery();
                dataGridView1.Update();
                baglanti.Close();
                MessageBox.Show("Kayıt Eklendi!");
         
            }
            catch (Exception ex)

            {
                MessageBox.Show(ex.Message);
                baglanti.Close();

            }
        }


Yeni bir kayıt eklemek için insert sorgusunu kullanıyoruz ve veritabanına yeni kayıt eklemek için SqlCommand nesnesinin ExecuteNonQuery() metodunu kullanıyoruz. 

 KAYIT GÜNCELLEME

private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                DataSet ds = new DataSet();
                if (baglanti.State == ConnectionState.Closed) baglanti.Open();
                ds.Clone();
                SqlCommand komut = new SqlCommand
                    ("UPDATE urunler SET ad = '" + txt_ad.Text + "', fiyat='" + txt_fiyat.Text + "' WHERE ad = '" + txt_ad.Text + "'", baglanti);
                komut.ExecuteNonQuery();
                dataGridView1.Update();
                baglanti.Close();
                MessageBox.Show("Kayıt Güncellendi!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                baglanti.Close();
            }
        }


Kayıtları güncelleme yapmak için update sorgusunu kullanıyoruz. Veritabanı kayıtlarını güncellemek için SqlCommand nesnesinin ExecuteNonQuery() metodunu kullanıyoruz.

 KAYIT SİLME

private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                DataSet ds = new DataSet();
                if (baglanti.State == ConnectionState.Closed) baglanti.Open();
                ds.Clear();
                SqlCommand komut = new SqlCommand
                    ("DELETE FROM urunler WHERE ad='" + txt_ad.Text + "'", baglanti);
                komut.ExecuteNonQuery();
                dataGridView1.Update();
                dataGridView1.Refresh();
                baglanti.Close();
                MessageBox.Show("Kayıt Silindi!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                baglanti.Close();


Kayıt silmek için delete sorgusunu kullanıyoruz. Veritabanında ki kayıtları silmek için ise SqlCommand nesnesinin ExecuteQuery() metodunu kullanıyoruz. 

Not: button1_Click, button2_Click lerin isimlerini de yaptığınız işlemlerin adlarını da verirseniz ileride karmaşık ve uzun kod satırları ile çalıştığınızda hangi kod hangi işlem içinde ve satırda olduğunu kolay olarak bulmanızı ve çalışmanızı daha düzenli olmasını sağlar. isimleri ise yapmak isteğiniz işlemin üzerine tıkladığınızda sağ tarafta Properties tarafından değiştirebilir ve diğer özelliklerini de buradan ayarlama imkanınız olacaktır. 

  • Paylaş:

Bunları da beğenebilirsin

0 yorum