parent child ile ilgili işlem

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Misafir

parent child ile ilgili işlem

Mesaj gönderen Misafir »

Ürün reçete tablosunu nasıl içindeki gerekli döngüyü kurarak kurallı bir hale getirebilirim...Yani demek istediğim şu

MAMUL KODU HAMMEDDE KODU ADEDI

A03-001 A01-222 1
A03-001 A02-333 2
A03-001 22-2333 3
A03-001 332-EAA 4
A03-001 B02-333 5

Şu üsteki durum gibi MAMUL kodları tekrar edip hangi hammaddedn oluştukları kolayca bir sql ile bulunabiliyor ama.....

MAMUL KODU HAMMADDE KODU ADEDI

a01-222 a3-333 2
a91-222 a04-555 1

Hem Mamül kodları kendisini oluşturan hammadde kodlarıda ayrıca Mamul kodu olup kendine ait hammadde kodları bulunmukta.....

Benim Yapmak istediğim ise şu normal bir sql ile yine istenilen şey bulunabilir ama gidilecek yer MAMUL KODU çünkü esas kriter o.....

Öyle bir tablo yapmalıyım ki ve bu işlem her zaman tekrar edip o tablo yeniden oluşmalı ve sonradan eklenen database ürünler tekrar oluşmalı ve tablolar güncellenmeli..........


1. tane sipariş tablosu var orada MAMUL kodları var siparişlerde.....

2. ise depo kodları ve burdada MAMUL KODUNA'a göre ürünlerin stoklarda ne kadar olduğu var....

Yapmak istediğim şey siparişlerde hangi stok kodlarının geçtiği, bunu zaten bulabiliyorum...Depo dada hangi stok kodundan (Mamul Kodu) ne kadar var onuda bulabiliyorum...

Önemli Not: Burası önemli (şunu söyleyim her mamül ve hammedde kodu esasında stok kodu, Böyle olduğu için ana stok kodundan aradığım zaman ben o stok koduna ait hammade kodlarını buluyorum...Ama benim istediğim...Ama benim istediğim içinde bulunan hammadde kodlarından aradığım zaman onu bulması sonra bir üstüne daha sonra bir üstünü taki mamul koduna kadar ve gereken ihtiyacı hesaplaması...

Parent Child ilişkisini kuran bir function var MSSQL'de bu function çalışıyor ama text bilgi veriyor...Bunu sanal bir table nasıl aktarabilirim...

Kod: Tümünü seç

CREATE PROCEDURE expand (@current char(20)) AS 
   SET NOCOUNT ON 
   DECLARE @lvl int, @line char(20) 
   CREATE TABLE #stack (item char(20), 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

Query Analyzerdan çağırdığım zaman stok kodunu şöyle bir çıktı alıyorum.....

expand 'A01-0018-00001'

Kod: Tümünü seç

A01-0018-00001      
 034-30040-01       
 024-03010-11       
 029-20320-03       
 028-20200-03       
 022-10325-02       
 032-28010          
 020-1022-03        
 MF2218-0082-01     
  MF2218-0082-01-016
   MF2218-0082-01-00
    MF2218-0082-01-0
     MF2218-0082    
 BA22-01003-04      
  BA22-01003-04-006 
   BA22-01003-04-005
    BA22-01003-04-00
     BA22-01003-01-0
      BA22-01003-01-
       BA22-01003-01
        BA22-01003  

Bu fonksiyon ile bilgiler nasıl master-detail bir table yazılabilir....Lütfen yardım....
Misafir

selam

Mesaj gönderen Misafir »

Arkadaşlar cevap verilmediğine göre bunu yapabilen bir arkadaş yok...Veya baya bir zor oldu...Peki bu gelen çıktıyı nasıl + lı bir şekle getirebilirim...tıklandığı zaman bi altındakini açan tekrar basıldığı zaman bir altını açan şekle....Lütfen yardımlarınızı bekliyorum.. :(
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Hocam + lı gelmesi diye bir şey yok ki.... Burada sizin yapmanız gereken bunları bir tree componenti icine eklemek..... Bir tree componenti bulup onun orneklerini inceleyip bu conucu ona ekleyebilirseniz istediginiz olur....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Misafir

selam

Mesaj gönderen Misafir »

Peki bunu Delphide hangi component paleti ile yapabilirim ve ufak bir örneği var mı başlangıç olarak....Teşekkür ederim...Yani bu gelen text veriyi nasıl tabloya yazılabliir hale düzenli olarak veya nasıl tree olarak yapabliirim...Lütfen Yardımcı olurmusunuz....Çok ihtiyacım var...
Misafir

ado sp nasıl çalıştırılır

Mesaj gönderen Misafir »

ado ile database bağlanıp stored procedure bileşeni ile sp seçtim active yapmak istediğim zaman procedure urunrecete expects parameter @current, which was not supplied....

Diyor...Çalıştıramadım delphide...problem nedir veya yapamadığım yer...
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

En basitinden Delphi'deki TReeview i kullanabilirsiniz.... malesef elimde başlangıç için herhangi bir kod ya da örnek yok...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
ardahan
Üye
Mesajlar: 144
Kayıt: 26 Oca 2004 05:17
Konum: İstanbul - Kocaeli - Ardahan
İletişim:

Mesaj gönderen ardahan »

Selam,

Eğer bu kalemler arasında parent ve child tarzında bir ilişki kurduysan bu ilişkiye göre otomatik treeview oluşturan Devexpressin cxTreelist componenti var.

Fakat component kullanmadan direk kendin draw edeceksen. Kendisini tekrarlayan (is have a child) bir algoritma kurabilirsin. Bunun için daha önceden forumun makale kısmına yazdığım Treetomenu adlı fonksiyonu inceleyebilirsin. Her bir menü aynı zamanda bir parent child ilişkisine sahiptir. Bu mantıkla yapılmış kodu incelersen işini görebilirsin.

Selamlar,

Mehmet Avşar
Gözyaşlarım sevgimi anlatmıyor mu !
Misafir

teşekkür ederim

Mesaj gönderen Misafir »

Teşekkür ederim hocam...Fakat şöyle de bir problemim var. Ayrıca...
ado ile database bağlanıp stored procedure bileşeni ile sp seçtim active yapmak istediğim zaman procedure urunrecete expects parameter @current, which was not supplied....diye bir hata alıyorum..Adostoredprocedure bileşeni ile yapmaya çalıştam ama bu hatayı verdi...Ne yapmam gerekiyor...

Fakat bu procedure normal query analyzer da çalışıyor...
Teşekkürler
ardahan
Üye
Mesajlar: 144
Kayıt: 26 Oca 2004 05:17
Konum: İstanbul - Kocaeli - Ardahan
İletişim:

Mesaj gönderen ardahan »

Stored procedure nesneni formdan sil ve tekrar yeni bir tane ekle (klasik bilgisayarcı restartı işte yaw :) ) Ardından stored procedurunu listelenenler aasından seç ve parameters kısmında parametrenin tipinin doğru tanımlı olup olmadığını kontrol et. Genelde bu hatayı böyle durumlarda verir.
Gözyaşlarım sevgimi anlatmıyor mu !
Misafir

selamlar

Mesaj gönderen Misafir »

denedim hocam aba yine aynı. Bu stored procuder code şeklinde nasıl çalıştırabilirim direk bileşenden ayarlamak yerine...Bir de öyle denemek isterim...
ardahan
Üye
Mesajlar: 144
Kayıt: 26 Oca 2004 05:17
Konum: İstanbul - Kocaeli - Ardahan
İletişim:

Mesaj gönderen ardahan »

Kod: Tümünü seç

sp := TADOStoredProc.create(nil);
     with sp do
     begin
          Connection := ADOConnection1;
          ProcedureName := 'SPKullanici;0';
          Parameters.refresh;
          Parameters.ParamByName('@code').Value := '1';
          ExecProc;
          ShowMessage(Parameters.ParamByName('RETURN_VALUE').Value);
     end;
Gözyaşlarım sevgimi anlatmıyor mu !
Misafir

selam

Mesaj gönderen Misafir »

:( Ben çağıramadım sp delphiden arkadaşlar...Hata veriyor invalit paramater diyor was not found diyor paramater neden bilmiyorum...
Cevapla