Merhaba arkadaşlar bu örnek makkalemde sizlere asp.net sitelerde store procedure nasıl kullanırız görelim
öncelikle ben kendime sql server kitapevi adında bir database kuruyorum ve bu database içinde 2 adet table oluşturuyorum birinci table adı kategoriler ikinci table adıda kitaplar
birinci kategoriId , Kategori ikinci table ID , Adi KategoriID ,BasımEvi BasımTarihi Resim Link Fİyat
bir adet Store Procedure Yazılım aşağıda belirtilmiş şekilde oluçaktır unutmadan kategorilerdeki KatewgoriID ile kitaplardaki KategoriID ilişkili bunuda hatırlatmış olayım
Alter Proc [sp_KitapBul]
@Kitap_Id int
as
Select kt.Kategori,kitap.Adi,kitap.BasimEvi,kitap.BasimTarihi,kitap.Resim,kitap.link,kitap.Fiyat from Kitaplar as kitap
inner join Kategori kt on kt.KategoriID = kitap.KategoriID
where ID=@Kitap_Id
Gelelim Web Sayfamıza Default.aspx Sayfamızda bir adet listbox ve bir adet gridView bulunmaktadır kaynak kodlarımızıda ekliyelim
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
private SqlConnection cnn = new SqlConnection(“Data Source=.;Initial Catalog=KitapEvi; Integrated Security=true”);
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
SqlCommand cmd = new SqlCommand(“Select ID,Adi From Kitaplar”, cnn);
cmd.CommandType = System.Data.CommandType.Text;
SqlDataReader dr;
cnn.Open();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
ListBox1.DataSource = dr;
ListBox1.DataTextField = “Adi”;
ListBox1.DataValueField = “ID”;
ListBox1.DataBind();
dr.Close();
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand(“sp_KitapBul”, cnn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(“@Kitap_Id”, SqlDbType.Int);
cmd.Parameters[0].Value = ListBox1.SelectedValue;
SqlDataReader dr;
cnn.Open
();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = dr;
GridView1.DataBind();
dr.Close();
}
}