ASP.NET – C# Stored Procedure Çağırmak

Selamün Aleyküm Arkadaşlar;

Ogrenciler tablosu olsun iki tane prosedur yazılmış olsun. OgrenciEkle, OgrenciListele. Biri öğrenci eklemek için diğeri öğrenci listelemek için. Alanları da no, ad, soyad olsun.

İlk önce Sql serverla işlemlerimizi yapmamızı sağlayan kütüphanemizi tanımlıyoruz.

using System.Data.SqlClient;

Bağlantımızı oluşturuyoruz.

SqlConnection con=new SqlConnection(constr);

Bağlantımızı açıyoruz.

con.Open();

Veritabanına sorgumuzu göndermek için SqlCommand nesnesini tanımlıyoruz.

SqlCommand cmd = New SqlCommand();

Hangi bağlantıyla bağlanacağını, sorgunun türünün ne olacağını ve hangi sorguyu çalıştıracağını tanımlıyoruz.

cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText="OgrenciEkle";

3 tane parametresi var. no int, ad nvarchar(50), soyad nvarchar(50) Üç tane Textbox nesnemiz olsun. Verileri oradan alalım.

cmd.Parameters.Add("no", SqlDbType.Int).Value = txtNo.Text;
cmd.Parameters.Add("ad", SqlDbType.NVarChar,50).Value = txtAd.Text;
cmd.Parameters.Add("soyad", SqlDbType.NVarChar,50).Value = txtSoyad.Text;

Geriye veri döndürmeyeceği için ExecuteNonQuery metoduyla veriyi çalıştırıyorum ve bağlantıyı kapatıyorum.

cmd.ExecuteNonQuery();
con.Close();

Şimdi ikinci prosedürümüzü çağıralım. İkinci prosedürümüz geriye değer döndürüyor. O yüzden SqlDataAdapter nesnesini tanımlayacağız. Dönen değeri DataGridView de gösterelim.

SqlConnection con = New SqlConnection(constr);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText="OgrenciListele";
//Parametre almayacak
SqlDataAdapter da = New SqlDataAdapter(cmd);
//Datatable nesnemizi tanımlıyoruz.
DataTable dt = New DataTable();
da.Fill(dt) //DataTable nesnemizi dönen değerlerle dolduruyoruz.
DataGridView1.DataSource = dt; //Datagridview nesnesini dolduruyoruz.
DataGridView1.DataBind();

Not: CommandType kullanabilmek için System.Data kütüphanesini çağırmanız gerekir.

using System.Data;

 

Hayırlı günler. Sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.