ö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
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
Kod: Tümünü seç
ADOStoredProc1.Active:=true;
Kod: Tümünü seç
ADOStoredProc1.ExecSQL;