PDA

View Full Version : Help ASP


morpheus72
25-09-2003, 14:16
Sto creando un db in cui memorizzo la srtuttura di un albero:

Il db e' fatto cosi:


ID_NODO | ID_SUPERNODO | LIVELLO_ANNIDAMENTO


Non riesco a ricostruire l'albero a partire dal db.

Allego i file

e posto il codice che uso:





<%@LANGUAGE="VBSCRIPT"%>
<!--#INCLUDE VIRTUAL="../include/connessione_db.inc"-->

<%
Call sApriConnection(connDB,sDSN) 'Apre la connsessione al database

Dim SQLMAX 'Il massimo livello di annidamento
SQLMAX = "Select MAX(Livello_Annidamento) as massimo from Struttura"
Set rsMax = connDB.Execute(SQLMAX)
Dim maxLivAnnidamento 'Variabile in cui memorizzo il massimo livello di annidamento
maxLivAnnidamento = rsMax("massimo")
call sChiudiRS(rsMax)

Dim SQLQUERY 'La query per la prima passata
SQLQUERY = "SELECT * FROM [Struttura] WHERE Livello_Annidamento=0 ORDER BY [priorita]"
Dim rs
Set rs = connDB.Execute(SQLQUERY)

rs.moveFirst
do while not(rs.eof)

idSuperNodo = rs("Id_Nodo")
nomeNodo = rs("Nome_Nodo")
Response.Write(nomeNodo & "<br>")
Dim livelloAnnidamentoCorrente 'Il livello di annidamento corrente

for livelloAnnidamentoCorrente = 1 to maxLivAnnidamento
Dim SQLVARIABLIE
SQLVARIABILE = "SQL" & livelloAnnidamentoCorrente
SQLVARIABILE = "SELECT * FROM [Struttura] WHERE Livello_Annidamento=" & livelloAnnidamentoCorrente & " ORDER BY [priorita]"
Dim rsVariabile
rsVariabile = "rs" & livelloAnnidamentoCorrente

Set rsVariabile = connDB.Execute(SQLVARIABILE)
rsVariabile.moveFirst

do while not(rsVariabile.eof)
idNodoCorrente=rsVariabile("Id_Nodo")
idSuperNodoCorrente=rsVariabile("Id_Super_Nodo")
if (idSuperNodo = idSuperNodoCorrente) then
Response.Write(rsVariabile("Nome_Nodo") & "<br>")
end if
rsVariabile.movenext

loop


call sChiudiRS(rsVariabile)
Next

rs.movenext
loop

call sChiudiRS(rs)
call sChiudiConnection(connDB)
%>




DOVE SBAGLIO???

HELP!!!!!

morpheus72
26-09-2003, 13:33
Nessun suggerimento?
:muro: