AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Kategorisierte Struktur sortieren (stored procedure/Cursor)
Thema durchsuchen
Ansicht
Themen-Optionen

Kategorisierte Struktur sortieren (stored procedure/Cursor)

Ein Thema von siles · begonnen am 22. Apr 2008 · letzter Beitrag vom 22. Apr 2008
 
siles

Registriert seit: 14. Jan 2008
34 Beiträge
 
#1

Kategorisierte Struktur sortieren (stored procedure/Cursor)

  Alt 22. Apr 2008, 13:30
Datenbank: MsSQL • Version: 2000 • Zugriff über: Ado Komponenten
Hallo!
Mein Gehirn ist gerade ziemlich abgeraucht, vermutlich wäre es gar nicht soo schwer aber ich komme nicht darauf
Problem:

Ich habe eine Kategorien Datenbank (id, name, pid). Wird normalerweise in Delphi mit einer TreeView angezeigt.
Nun möchte ich jedoch alle Kategorien in eine Combobox bringen und zwar schön in der Reihenfolge, wie sie auch in der TreeView angezeigt wird. Sprich:

Oberkategorie 1
--K1
----U1
--K2
-----U2
Oberkategorie 2
....etc

Bei der TreeView geht das vollautomatisch, da muss nur die ID und PID angegeben werden (DynamicDBTreeView)

Ich habe igrendwo im Internet, vielleicht sogar hier bei DP eine Stored Procedure gesehen, die jede Unterkategorie sortiert anzeigt:

SQL-Code:
CREATE Procedure ListSubTree (@cat_id int)
as

declare @ChildID int
declare @Table Table (
  ID INT,
  PID INT,
  NAME VARCHAR(1000)
)

-- 1.Zeile in die Tabelle
 
insert into @Table
  select cat_id, cat_pid, cat_name from cate where cat_id = @cat_id

Declare c Cursor local for select ID from @Table
open c
fetch next from c into @ChildID
while @@Fetch_status = 0 begin

-- Mit jedem Schleifendurchlauf werden in einem Abwasch ALLE Kindknoten eingefügt

  insert into @Table
    select cat_id, cat_pid, cat_name from cate where cat_pid = @ChildID
  fetch next from c into @ChildID
end
close c
deallocate c
select * from @Table
GO
Mit "exec listsubtree 1" bekomme ich dann auch alle Unterkategorien von der Kategorie mit der ID 1, allerdings nicht so sortiert wie oben beschrieben, sondern so

Oberkategorie 1
--K1
--K2
----U1
----U2
....etc

Hat einer ne Ahnung wie ich das erreichen kann?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz