Ana içeriğe atla

Ms Sql Stored Procedures Visual Studio 2010 içinde oluşturmak ve kullanmak

Visual studio 2010 içinde Ms Sql Stored Procedures(Depolanmış yordamlar) oluşturmak ve kullanmak.


Ms Sql Stored procedures (depolanmış yordamları) Visual Studio 2010 aracınızda "projeniz üzerinde" bulunan veritabanınız için hemen oluşturabilir ve üzerinde çalıştığınız web projenizde hemen çalıştırabilirsiniz.Buna göre veritabanınızın Ms Sql Server üzerine Detach edilmesi yada veritabanınızın illaki bir Ms Sql Server olması gerekmez.Depolanmış yordamlar hazırlamak ve kullanmak ile ilgili yazılarıma detaylarla devam ediyorum...


Ms Sql Stored Procedures(Depolanmış yordamlar) hakkında yazdığım 3ncü yazımda yine bir öncekiler gibi farklı bir Procedure oluşturma yöntemi anlatamaya çalışacağım.Bu konuyu arayarak bu blogu bulmuş okuyucuların kafasını karıştırmamak ve netteki benzer yazılarla aynı karmaşık anlatımı önlemek için daha önce neleri anlattığımı kısaca özetlemeliyim.
Detaylar:
1.İlk yazımda Ms Sql Server Managment Express içinde varolan bir veritabanına Procedure nasıl oluşturulduğunu yazmıştım.Bu yazıda aynı yöntemi kullanarak Insert Into ile verilerimizi bu prosedürü kullanarak ekleyebilmiştik


2.İkinci yazımda Ms Sql Server üzerinde bulunan ve local olarak bağlandığım bir Ms Sql Server üzerinde bulunan veritabanına Visual Studio 2010 içinde çalıştığım projede bağlanmış ve prosedürü kullanmıştım.

3.Bu yazımda ise Ms Sql Server üzerinde olmayıp Projemiz App_Data klasöründe üzerinde çalıştığım bir veritabanında Stored Procedure nasıl oluşturacağımızı ve bir web page (web sayfası) içinde nasıl kullanacağımızı anlatacağım...

Yandaki resimdeki gibi Database adında Ms Sql veritabanım var ve EMail adına sahip bir de Table oluşturdum.Bu Table projem içindeki bir web form içinden kullanıcıları Email ve Kullanıcı adlarını kaydedecekleri bir veritabanı tablosudur.Bu web form içinde bulunan basit html yapısıda aşağıdaki gibidir.





Visual Studio.Net ile hazırladığımız bir projede varolan Ms Sql veritabanına veri eklemenin bir çok yöntemi vardır.Daha önceki Database bloglarımdada (Firebird-Ms Access-Ms Sql) yazdığım gibi...Bu blogtada başka bir yöntemi anlatacağım.Fakat bilmemiz gereken en önemli ve kilit anlatım SqlDataSourceCommandType sınıfına daha yakından bakacağımızdır.Stored Procedure(Depolanmış yordamları) kullanmanı bu sınıf ile yakından ilgilidir. SqlDataSourceCommandType ile ilgili 2 farklı kayıt yöntemide bu yazıda bulabileceksiniz.

1- Kayıt tiplerine geçmeden Web.config yapılandırmamızda ConnectionString tamamlamalıyız.

<connectionStrings>
<add name="DatabaseConnectionString" 
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True" 
providerName="System.Data.SqlClient"/>
</connectionStrings>

2-Stored Procedures(Depolanmış yordam) olmadan Sql kayıt eklemek !(VB.Net)
Yukarıdaki senaryoya göre Ms Sql e klasik ve olağan olarak veri eklemem için (Stored Procedures olmadan!) şu tip bir kod blogu işimi görecektir.

    Protected Sub UserSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles UserSave.Click

Dim UserSaveSource As New SqlDataSource()
        UserSaveSource.ConnectionString = ConfigurationManager.ConnectionStrings("DatabaseConnectionString").ToString()

        UserSaveSource.InsertCommandType = SqlDataSourceCommandType.Text
        UserSaveSource.InsertCommand = "INSERT INTO UserEmail (UserEMail, UserName) VALUES (@UserEMail, @UserName)"

        UserSaveSource.InsertParameters.Add("UserEMail", UserEMailTxt.Text)
        UserSaveSource.InsertParameters.Add("UserName", UserNameTxt.Text)
End Sub
Bu kod örneğini daha geniş açıklamaları ile ilerleyen bloglarımdan takip edebilirsiniz.Asıl konumuz Stored Procedures ile çalışmak olduğu için sadece kod yapısını görmeniz için ekledim.Şimdi gelelim Visual Studio 2010 içerisinde Procedure oluşturma kısmına

3-Visual Studio 2010 - Stored Procedure Oluşturmak !


Visual Studio 2010 Server Explorer  sekmesinde gösterilen bağlı bulunduğunuz Ms Sql veritabanınız içinde listelenen Stored Procedures sağ click ile ulaşabileceğiniz Add New Stored Procedure seçeneği Query yazarak yeni yordamlar oluşturabileceğiniz yerdir.Bu konuyu daha önceki yazılarımda Ms Sql Server Managment Express ile Procedure kısmında anlatmıştım.Şu aşamada karşıma gelen ekranda yeni bir Stored Procedure şu şekilde yapmam gereklidir.

  Evet... Yandaki resimde görüldüğü üzere ALTER PROCEDURE oluşumu ve 1.nci kod örneğinde kullandığım field alan isimlerini(UserEMail-UserName) konfigre ettim ve INSERT table_adı ve yine 1nci kod örneğindekine benzer bir kayıt ekleme dizimi yazdım.Bu yordamamımın ismi UserInsert oldu.Şimdi ise bu yordamımı Visual Studio 2010 içinde hazırladığım ve HTML kodlarını blogun başında verdiğim formda nasıl kullanacağım görelim.
Yazının başında belirttiğim. SqlDataSourceCommandType sınıfı ve Text paramatresi ile kayıt işlemimi tamamlayabilirdim:yeni yordamımı ise aynı sınıfın StoredProcedure parametresi ile çalıştıracak ve 1 nci kod örneği üzerinde değişiklikler yapacağım.Bu değişiklikler aşağıdakileri içerir ...

SqlDataSourceCommandType.Text  yerine SqlDataSourceCommandType.StoredProcedure
InsertCommand Transact dizim yerinde InsertCommand = "Stored Procedure İsmi"
kullandığıma dikkat ediniz.

Şimdi Stored Procedures(Depolanmış yordamlar) ile konfigre ettiğimiz ve Visual Studio içinde hazırladığımız hem procedure hemde uygulamanın Sql e kayıt yapıp yapmadığını bir test edelim.


Blog başlığında belirttiğim ve yazı içinde anlattığım Stored Procedure işleminin Visual Studio 2010 içinde oluşturulması ve proje içinde kullanımı bu şekildedir. Bu blog içinde anlatılan daha önceki Stored Procedure(depolanmış yordamlar) farklı ve CLR (Common Language Runtime) türünde ve yakında bloglarımda sıkça okuyacağınız bir kavramdır.Ortak dil kullanımı ve Ms Sql Server ile bütünleşik çalışmasını ve ilgili detaylarda buluşmak üzere...

      Bu Yazının Sponsorları













Yorumlar

  1. Bu konuyu uzun süredir nette arıyordum, fakat bu kadar net ve kolay anlatan bir makale bulamadım Çok teşekkür ederim....

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

Firebird SQL Table oluşturma ve SQL komutları

2 nci  Firebird SQL veritabanı blogunda bu kez mevcut Firebird veritabanına ISQL ile bağlanmayı veritabanı nesnelerini oluşturmayı (create table), Kayıt eklemeyi (ınsert) ve kayıtları izlemeyi (show) ile önemli SQL komutlarını anlatmaya çalışacağım...

Firebird Veritabanı Nedir ? Nasıl Kullanılır

Firebird ücretsiz veritabanı kullanmaya ne dersiniz.Üstelik hiç bir süre ve veri sınırı olmadan kulağa hoş geliyor değilmi.Bu Blogta Borland açık kaynak interbase 6 sürümünden sonra ortaya çıkmış ve gelişimini sürekli sürdürmüş Firebird veritabanına bir göz atıcaz. İnternet üzerinde Firebird ile kaynağa çok sık rastlamazsınız artık bu blogtan Firebird ile ilgili bilgileri takip edebilirsiniz...

Asp.Net Access veritabanina resim ve nesne kaydetmek OLE Nesnesi

Ms Access ile ilgili geçmiş yazılarım arasında biraz vakit geçirmişseniz, Ms Access form uygulamaları yada veritabanı olarak kullanmayı sevdiğimi anlamışsınızdır. Birazdan size anlatmaya çalışacağım konu Ms Access veritabanı olarak kullandığımız bir Asp.Net Web projesinde resimleri ve dosyaları paket halinde veritabanının içine gömmek olacak.Neden bilmiyorum bu konuda Türkçe kaynak yok, merak etmeyin bu yazı size iyi gelecek...