Arkadaşlar Mssql server kullananlar bilirler stored procedure ile yapılan herhangi bir işlem query analyzer da bilgi çekildiği zaman grid de çıktısı görülür ve rahatlıkla delphiden bu sp ulaşıp gerekli bilgilere ulaşabilirsiniz fakat aşağıdaki sp ile gride çıktı alınmıyor messages çıktısı alınıyor ve ben bu yüzden bu veriyi kullanamıyorum...
CREATE PROCEDURE expand (@current char(40)) AS
SET NOCOUNT ON
DECLARE @lvl int, @line char(40)
CREATE TABLE #stack (item char(40), lvl int)
INSERT INTO #stack VALUES (@current, 1)
SELECT @lvl = 1
WHILE @lvl > 0
BEGIN
IF EXISTS (SELECT * FROM #stack WHERE lvl = @lvl)
BEGIN
SELECT @current = item
FROM #stack
WHERE lvl = @lvl
SELECT @line = space(@lvl - 1) + @current
PRINT @line
DELETE FROM #stack
WHERE lvl = @lvl
AND item = @current
INSERT #stack
SELECT HAM_KODU, @lvl + 1
FROM TBLSTOKURM
WHERE MAMUL_KODU = @current and opr_bil='B'
IF @@ROWCOUNT > 0
SELECT @lvl = @lvl + 1
END
ELSE
SELECT @lvl = @lvl - 1
END
GO
Arkadaşlar ayrıca bunu txt kaydediyim diyecek mssql server da packages bölümündende bu sp messages çıktı verdiğin için txt olarak da kaydedemiyorum....Lütfen mssql server bilen arkadaşlar yardımcı olursanız sevinirim....
sp nin sonucunda illa bir veri alacaksınız diye birşey yok. Bir spnin içinde insert update delete v.b. işlemleri yapabilirsiniz bunun sonucunda sadece işlem yapılır bir sonuç dönmez. Ama bunun yanı sıra bir select yaparsınız selecten dönen sonucu alırsınız. Burda PRINT @line o değeri yazar ekrana, eğer yazmıyorsa demekki o satıra gelemiyor. Bunun yanı sıra procedurelerin de değer döndürme özelliği vardır isterseniz onu da kullanabilirsiniz bir değer döndürmek istiyorsanız.
Verdiğiniz sp örneğinde neyi sonuç olarak almak istediğinizi açıkcası pek anlayamadım ben.
Naile hanım önce cevabınız için teşekkür ederim. Bu sp'nin benim çıktısını delphiye aktarmam gerekiyor ama bunu beceremedim...Database durumu aşağıdaki gibi
A03-0020-STD 024-02010-12 3.00000000
A03-0020-STD 023-01016-11 3.00000000
A03-0020-STD 024-02013-12 1.00000000
A03-0020-STD 028-20210-03 1.00000000
A03-0020-STD 029-20340-03 1.00000000
A03-0020-STD 022-10300-02 1.00000000
A03-0020-STD 026-10150-01 1.00000000
A03-0020-STD 032-30010 1.00000000
A03-0020-STD MF2520-0014-01 1.00000000
A03-0020-STD 020-1025-03 1.00000000
A03-0020-STD BB25-02010-01 1.00000000
Böyle 60 binden fazla satır kayıdı var ve bu sp parent child ilişkisi kurarak ürün ağacını dallandırıp bana mesaj çıktısı veriyor....Fakat bu sp nin çıktısını ben delphiye aktarmayı beceremedim...Yardımınıza ihyitacım var...Şimdiden teşekkür ederim ilgilendiğiniz için...Allah razı olsun...
evet örneğin query analyzer de şöyle bir komut girdiğimde evet dediğiniz gibi exec expand 'A03-0020-00001' ile bir çıktı alıyorum....
Sizin dediğiniz gibi database bağlandım adoquery tstrings ine exec expand yazdım ve söle bir hata aldım....Procedure 'expand' expects parameter '@current', which was not supplied.
Benim tam olarak yapmak istediğim edit boxa yazdığım ürün adının ürün ağacını gride vs. kullanabileceğim bir yere almak istiyorum naile hanım...
Arkadaşlar ado da sp yi adoquery ile nasıl çağırıyoruz ben adonun direk sql yazıyorum ama hata veriyor simdiye kadar hiç böle bir şey yapmamıştım...Adoquery ile eğer sp çağırılabiliyorsa nasıl çağırılıyor...Yardımcı olursanız çok memnun olacağım...
Çalıştıracağınız sp bu soruda verdiğiniz sp mi? Yani çalıştırdığınızda size bir takım değerler döndürüyor mu yoksa sadece sp içinde bazı insert update v.b. işler mi yapıyorsunuz? Eğer ben sonuç almak istiyorsam ADO Query kullanıyorum yapacağınız şey herzamanki kullanım şekli: