Procedure ile Ekleme Silme Güncelleme İşlemleri

nhtctn nhtctn

Bu yazımızda işlemlerimizi stored procedure kullanarak yapacağız ve arayüz’den gelen verileri parametre kullanarak veritabanına ekleyeceğiz. Bu sayede sqlinjection’ı önlemiş olacağız.

Stored procedure kullanmanın performans, güvenlik,az kod yazma vb. avantajları vardır.

Her zamanki gibi öncellikle bağlantımızı açalım.

 SqlConnection baglanti = new SqlConnection("Server=localhost;DataBase=KuzeyYeli;Integrated Security=true");

SqlCommand’ın CommandText’ine sorguyu vermeyeceğiz procedure’ün ismini vereceğiz. cmd.Parameters.AddWithValue ile procedure parametlerini göndermiş olacağız.

SqlCommand cmd = new SqlCommand("UrunEkle", baglanti);
            // cmd.CommandText = "insert urunler (UrunAdi,YeniSatis,Stok) values (@adi,@yeniSatis,@stok)";
            cmd.CommandType = CommandType.StoredProcedure;
            //cmd.Connection = baglanti;
            cmd.Parameters.AddWithValue("@adi", txtUrunAdi.Text);
            cmd.Parameters.AddWithValue("@yeniSatis", nudFiyat.Value);
            cmd.Parameters.AddWithValue("@stok", nudStok.Value);



            baglanti.Open();
            int etk = cmd.ExecuteNonQuery();
            baglanti.Close();

            if (etk > 0)
            {
                MessageBox.Show("Kayıt eklendi");
                UrunListele();
            }
            else
            {
                MessageBox.Show("Ürün eklidir.Farklı bir ürün ekleyiniz.");
            }
 SqlCommand cmd = new SqlCommand("UrunSil", baglanti);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@urunId", dataGridView1.CurrentRow.Cells["UrunID"].Value);

                baglanti.Open();
                int etk = cmd.ExecuteNonQuery();

                if (etk > 0)
                {
                    MessageBox.Show("kayıt silindi");
                    UrunListele();
                }
                else
                {
                    MessageBox.Show("kayıt silinemedi.");
                }
SqlCommand cmd = new SqlCommand("prc_KategoriGuncelle",baglanti);
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("kid", dataGridView1.CurrentRow.Cells["KategoriID"].Value);
            cmd.Parameters.AddWithValue("kAdi", dataGridView1.CurrentRow.Cells["KategoriAdi"].Value);
            cmd.Parameters.AddWithValue("ktanimi", dataGridView1.CurrentRow.Cells["Tanimi"].Value);

            baglanti.Open();

            int etk = cmd.ExecuteNonQuery();

            baglanti.Close();

            if (etk>0)
            {
                MessageBox.Show("Kayıt güncellenmiştir.");
                KategoriListesi();
            }
            else
            {
                MessageBox.Show("güncelleme başarısız.");
            }

Yorum yazın

BENZER YAZILAR