SP og WHILE returnerer kun 1 resultat og ikke begge kolonner?
Hejsa!Jeg har en tabel med brugere og en tabel med afdelinger. Hver bruger er knyttet til en afdeling på bruger.afdeling=afdelinger.afdelingsId, men følgende SP hiver kun 1. resultat ud og kun feltet "navn", men ikke "afdNavn" (når jeg prøver at loope igennem den i ASP - se nederst)
SP:
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @brugerId varchar(11), @afdeling varchar(11), @navn varchar(20), @brugerNavn varchar(40),
@message varchar(80), @afdNavn varchar(80)
DECLARE brugere_cursor CURSOR FOR
SELECT brugerId, afdeling, navn, brugerNavn
FROM brugere
WHERE ansat = 1
ORDER BY navn
OPEN brugere_cursor
FETCH NEXT FROM brugere_cursor INTO @brugerId, @afdeling, @navn, @brugerNavn
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @navn AS navn
DECLARE afdeling_cursor CURSOR FOR
SELECT a.afdNavn
FROM afdelinger a
WHERE a.afdelingsId = @afdeling -- Variable value from the outer cursor
OPEN afdeling_cursor
FETCH NEXT FROM afdeling_cursor INTO @afdNavn
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @afdNavn AS afdNavn
FETCH NEXT FROM afdeling_cursor INTO @afdNavn
END
CLOSE afdeling_cursor
DEALLOCATE afdeling_cursor
FETCH NEXT FROM brugere_cursor
INTO @brugerId, @afdeling, @navn, @brugerNavn
END
CLOSE brugere_cursor
DEALLOCATE brugere_cursor
END
------------
her er min ASP:
sql = "EXEC getRankings"
set rs = conn.execute(sql)
if not rs.eof then
rowCount = 1
response.write "" &_
"<table>" &_
"<tr>" &_
"<th> </th>" &_
"<th>Navn</th>" &_
"<th>Afdeling</th>" &_
"</tr>"
do while not rs.eof
response.write "" &_
"<tr>" &_
"<td>" & rowCount & ". </td>" &_
"<td>" & rs("navn") & "</td>" &_
"<td> & rs(""afdNavn"") & </td>" &_
"</tr>"
rs.moveNext
rowCount = rowCount+1
loop
response.write "" &_
"</table>"
end if
set rs = nothing
Hvad gør jeg forkert? :)