Sistem gereksinimleri :
* SQL Server 2005 Express Edition
* Microsoft SQL Server Management Studio Express
* Visual Studio 2005 yada Express Sürümü
Bu örnekte Sanatcilar tablosunu kullanacağım.Veri tabanı ismi Veritabanimiz olacak.Öncelikle örnek tablomuzu oluşturalım.
[code:tsql]CREATE TABLE Sanatcilar
(
[Ad] [varchar](50) NULL,
[Soyad] [varchar](50) NULL,
[Yas] [int] NULL,
[SanatciID] [int] IDENTITY(1,1) NOT NULL,
[DogumTarihi] [datetime] NULL,
CONSTRAINT [PK_Sanatcilar] PRIMARY KEY CLUSTERED
(
[SanatciID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] [/code]
Yazı serisinin ilk kısmında ilk Stored Procedure Sanatcilar tablosundaki verileri GridView kontrolünde göstermek olucak.Bunun için yazılan procedure ün sql script ti aşağıdadır.
[code:tsql]CREATE PROCEDURE spSanatcilariGoster
AS
BEGIN
SELECT Ad,Soyad,Yas,SanatciID,
convert(varchar,DogumTarihi,104) as DogumTarihi FROM Sanatcilar
END[/code]
Şimdi yazıcağımız Procedure ü test edelim.Query alanına aşağıdaki ifadeyi yazıp çalıştırın.
[code:tsql]EXEC spSanatcilariGoster [/code]
Kayıtlar Query nin altında grid de görünecektir.Şimdi VS da yeni bir Web Projesi açalım ve Default.aspx sayfamıza bir adet SqlDataSource ve bir adetde Gridview koyalım.Web.Config (Konfigurasyon Dosyası) açalım eğer oluşturmadıysak oluşturalım ve sonrasında aşağıdaki kodları girelim.Aşağıda add name alanına istideğimiz ismi verebilirsiniz IDE default olarak bu ismi verdiğinden ben herhangi bir değişiklik yapmadım siz isterseniz değiştirebilirsiniz.
[code:html]<connectionStrings>
<add name="VeritabanimizConnectionString" connectionString="Data Source=PC-ARGENETWORK\SQLEXPRESS;Initial Catalog=Veritabanimiz;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings> [/code]
Daha evvel Default.aspx e eklediğimiz SqlDataSource kontrolümüzün kodları aşağıdaki gibi olmalıdır.
[code:html]<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:VeritabanimizConnectionString %>"
SelectCommand="spSanatcilariGoster" SelectCommandType="StoredProcedure">
</asp:SqlDataSource> [/code]
Gene aynı şekilde GridView kontrolümüzün kod kısmı aşağıdaki şekilde düzenleyelim.
[code:html]<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="False" DataKeyNames="SanatciID">
<Columns>
<asp:BoundField DataField="Ad" HeaderText="Ad" SortExpression="Ad" />
<asp:BoundField DataField="Soyad" HeaderText="Soyad" SortExpression="Soyad" />
<asp:BoundField DataField="Yas" HeaderText="Yas" SortExpression="Yas" />
<asp:BoundField DataField="SanatciID" HeaderText="SanatciID" InsertVisible="False" ReadOnly="True" SortExpression="SanatciID" />
<asp:BoundField DataField="DogumTarihi" HeaderText="DogumTarihi" ReadOnly="True" SortExpression="DogumTarihi" />
</Columns>
</asp:GridView> [/code]
[code:html]<asp:BoundField DataField="SanatciID" HeaderText="SanatciID" InsertVisible="False" ReadOnly="True" SortExpression="SanatciID" />[/code]
SanatciID alan bilgisinin GridView da görünmesini istemediğimizden bu kısmı sildik.Projeyi çalıştırdığımızda görüntü aşağıdaki şekilde olacaktır.
Şimdi ise Yukarda yaptığımız CodeBehind tarafında yapıcaz.Öncelikle sayfamızın üzerine çift tıklayarak projenin kodlarına girelim.İlk önce Sql Server da işlem yapacağımız için iki adet namespace eklememiz gerekecez.Tabi birde veritabanı işlemleri olacağı için Data sınıfıda referans edilmelidir.
[code:c#]
using System.Data;
using System.Data.SqlClient;
[/code]
Page_Load eventınada aşağıdaki kodları yazıyoruz
[code:c#]
//Bağlantı nesnesi oluşturuyoruz
SqlConnection baglantimiz =
new SqlConnection();
//Connection string i uygulamammızın kök dizinindeki Web.Config sayfasından alıyoruz.
baglantimiz.ConnectionString = ConfigurationManager.ConnectionStrings["VeritabanimizConnectionString"].ConnectionString;
//Bağlantımızı açıyoruz
baglantimiz.Open();
//Sql command nesnesi oluşturuyoruz
SqlCommand com =
new SqlCommand("spSanatcilariGoster", baglantimiz);
//Command ın tipini StoredProcedure olduğunu belirtiyoruz..
com.CommandType = CommandType.StoredProcedure;
//Reader nesnesi oluşturuyoruz
SqlDataReader Reader = com.ExecuteReader();
//Gridview kontrolümüzün veri kaynağını belirliyoruz
GridView1.DataSource = Reader;
//Kontrolün databind() metodunu çağırıyoruz
GridView1.DataBind();
//Reader ı kapatıyoruz
Reader.Close();
//Bağlantımızı kapatıyoruz
baglantimiz.Close();[/code]
Aynı Şekilde Default.aspx sayfamızın html kod kısmıda aşağıdaki şekilde değiştirilmelidir
[code:html]<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</form>[/code]
Bu yazımızda Stored Procedure kullanarak ASP.NET üzerinde kayıtları ziyaretçiye gösterdik.Yazının ikinci serisinde Stored Procedure ile kayıt ekleyeceğiz.
Bu yazıyı ilk değerlendiren siz olun
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5