Pages

I‘m a PC .

Stored Procedure Kullanarak Kayıt Ekleme

Öncelikle stored procedure ü neden kullanıyoruz.

Sql Procedure’ler derlenmiş sql cümlecikleridir. Bunlar birer veritabanı nesnesi oldukları için, doğrudan veritabanı yöneticisi olan programda  yer alırlar. Bu nedenle veritabanınızı bir yere taşıdığınızda otomatik olarak, Sql Procedure’leride taşımış olursunuz.  Aslında , çalıştırmak istediğimiz sql cümleciklerini bir Sql Procedure içine yerleştirerek, bunun bir veritabanı nesnesi haline gelmesini ve çalışıtırıldığında doğrudan, veritabanı yöneticisini üzerinde barındıran sunucu makinede işlemesini sağlarız. Bu doğal olarak, istemci makinelerdeki iş yükünü azaltır ve performansı arttırır. Nitekim bir program içinde çalışıtırılan sql cümleleri, Sql Procedure’leden çok daha yavaş sonuç döndürür.

önce procedürümüzü oluşturalım. sqlserverde new query açıyor ve aşağıdaki kodu yazıyoruz.

image

 

Şimdi Yine Windows formumuzu oluşturuyoruz. ve kaydet butonuna bastığımızda aşağıdaki kodu çalıştırıyoruz.

private void btnKaydet_Click(object sender, EventArgs e)
{
    string constr = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KayitEkle;Data Source=IBRAHIM\SQLEXPRESS";// teksatırda yaz


    SqlConnection conn = new SqlConnection(constr);
    conn.Open();//baglatıyı açıyoruz
    SqlCommand cmd = new SqlCommand("Kayit", conn);
    cmd.CommandType = CommandType.StoredProcedure;//commandtype belirliyoruz

//parametreleri ekliyoruz.
    SqlParameter parametreler = cmd.Parameters.Add("@OgrenciNo",SqlDbType.Int);
    SqlParameter parametreler1 = cmd.Parameters.Add("@Adi",SqlDbType.VarChar,50);
    SqlParameter parametreler2 = cmd.Parameters.Add("@soyadi", SqlDbType.VarChar, 50);

//değerleri atıyoruz   

parametreler.Value = txtno.Text;
    parametreler1.Value = txtAdi.Text;
    parametreler2.Value = txtsoyadi.Text;

//veriyi işliyoruz 

  cmd.ExecuteNonQuery();

//bağlantıyı kapatıyoruz
    conn.Close();

}

 

textbozları doldurup kaydete basıyoruz. bakalım şimdi veritabanımıza değerlerimiz eklenmişmi.

image

Kayıdımız database e eklenmiş.

image

Sql server e Yeni kayıt ekleme.

sql server e c# programımızdan kayıt ekleme.

Önce Microsoft Visual Studio’dan yeni bir proje açıyor. Windows Form Application oluşturuyor ve adını SqlServereKayitekleme olarak belirliyoruz.

image

Sonra İlk aşama olarak Formumuza 3 tane Label Atıp test özelliğini Ad,Soyad,ÖğrenciNo diye değiştiriyor. ardından 3 tane textboz atıp properties ten name özelliklerini txtadi,txtsoyadi,txtno diye değiştiriyor ve bir butonu sürükleyip name özelliğini btnkaydet olarak değiştiriyoruz.

image

Şimdi gelelim sql severimizde Kayıtekle isimli database ve tblkayitekle isimli bir tablo oluşturmaya.

image

Daha Sonra yapacağımız iş database imiz hazır olduğuna göre formumuzda kaydet tuşuna basıldıktan sonra işlemleri yapacak gereken kodları yazmaya.

ilk olarak kodumuza

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

idadeleri ekliyoruz.Sonra Aşağıdaki kodu yazıyoruz.ve Programımızı çalıştırıyoruz.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data;

using System.Data.SqlClient;

namespace SqlServerKayit_Ekleme

{

    public partial class Form1 : Form

    {

        public string conn = null;

        public string cmd = null;

        public Form1()

        {

            InitializeComponent();

        }

        private void btnKaydet_Click(object sender, EventArgs e)

        {

           //bağlantıyı kuruyoruz

string constr = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KayitEkle;Data Source=IBRAHIM\SQLEXPRESS";//tek satır da olucak

            SqlConnection conn = new SqlConnection(constr);

            conn.Open();

//sql cümlemizi tanımlıyoruz

//tek satırda olucak.

string sqlsrt = "insert into tblKayitekle (OgrenciNo,Adi,soyadi) values "+txtno.Text+",'"+txtAdi.Text+"','"+txtsoyadi.Text+"')";

 

          //sql den verileri alıyor bağlantıyı kapatıyoruz.

  SqlCommand cmd = new SqlCommand(sqlsrt,conn);

            cmd.ExecuteNonQuery();

            conn.Close();

        }

    }

image

Şimdi veritabanımıza bakalım kayıtlarımız eklenmişmi . Tamamdır kayııtlarımız eklenmiş.

image