SQL Server İle ADOStoredProc

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

SQL Server İle ADOStoredProc

Mesaj gönderen Fatih! »

StoredProcedure Kullanmak için ADOStoredProc Bileşenini Ku0llanacağız. Kullanımı adotable,adoquery gibidir.

örneğimiz için aşağıdaki gibi kbir tablomuz olduğunu varsayıyorum.
SIRA_NO ADI KONUMU


yukarıdaki tablodan Fatih kaydını listeletelim. bunun için aşağıdaki sroredprocedu0reyi yazalım

Kod: Tümünü seç

CREATE PROCEDURE [DBO].[SP_fatih] AS
Select * From DelphiDunyasi Where ADI='Fatih'


gördüğünüz gibi bildiğimiz sql sorgusu. sp'nin tüm kayıtları listelemesini isteseydik Where kısmını yazmamamız gerekirdi.



şimdi bunu delphide kullanalım. formunuza bir adoconnection ekleyip daha önce anlattığıım şekilde veritabanna bağlanın.forma birer Datasource, ADOstoredProc ve dbgrid ekleyin. datasourcenin dataset özelliğini adastoredproc1 olarak ayarlayın. dbgridin datasorcesine datasource1 i gösterin. gelelim adostoredproc a Connection özelliğini forma eklediğiniz adoconmnectionu gösterin.adostoredproc ProcedureName özelliğine oluşturduğumuz Stored Procedure olan sp_fatih'i gösterin. active özelliğini true yaptığınızda tıpkı query,adoquery vb. gibi veriler dbgridde görülecektir.



Parametreli Stored Procedure Kullanımı

yukarıdaki örnekte adı fatih olanlar yerine değişken bir değer kullanmak istiyorsak parametre tanımlamalıyız. aşağıdaki sp'miz Parametreye verilen değere sahip kişilerin adlarını listeleyecektir. yukarıdaki ayarların aynısını apın. adostoredproc bileşeninin active özelliğini true yapmayın. ek olarak forma bir edit ve bir button ekleyin. böylece edite girilen bilgiyi listeleyeceğiz.adostoredproc ProcedureName özelliğine oluşturduğumuz Stored Procedure olan SP_ad_bul u gösterin.


Kod: Tümünü seç

CREATE PROCEDURE [DBO].[SP_ad_bul] @ad varchar(30)
AS
Select * From DelphiDunyasi Where ADI=@ad
Buttonun Onclickine

Kod: Tümünü seç

ADOStoredProc1.Active:=false; //Active özelliğini false yapın
ADOStoredProc1.Parameters.ParamByName('@ad').Value:=Edit1.Te xt; // Ad parametresine edit içindeki değeri atayın
ADOStoredProc1.Active:=true;  //Active özelliğini true yapın
Not : Eğer Stored Procedureniz Herhangi bir sonuç döndermiyorsa yani insert,update gibi işlem yapıyorsanız

Kod: Tümünü seç

 ADOStoredProc1.Active:=true; 
yerine

Kod: Tümünü seç

ADOStoredProc1.ExecSQL;
Komutunu kullanın
Cevapla