webForumDet fria alternativet

Infoga poster från två tabeller?

ASP

6 svar · 161 visningar · startad av Mattias

Medlem sedan mars 2000205 inlägg
Frågan#1

Såja, efter ett par lyckade försök med ASP-kodande började strulet igen. Blää! Det jag inte lyckas med denna gång är att föra in värden från två ihopkopplade tabeller till diverse formulärfält på en redigeringssida. Den post som skall visas på sidan bestäms av ett värde som skickas via ett formulär på föregående sida.

Här är min (nedbantade) kod:

<% stugID = request.querystring("StugID")

Set Connection = Server.CreateObject("ADODB.Connection")
cnpath="DBQ=" & server.mappath("\mapp\databas.mdb")
connection.open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath

SQL2 = "SELECT * FROM tblStuginfo_1 WHERE stugID ='" & stugID & "'"

set RS2 = Connection.Execute(SQL2)

rs2.open SQL2

SQL = "SELECT * FROM tblStuginfo_2 WHERE stugID = '" & stugID & "'"

set RS = Connection.Execute(SQL)

DO UNTIL RS2.EOF

DO UNTIL RS.EOF
%>
----
Här finns all HTML-kod där värden läggs in i rutorna genom exvis <% =rs("stugid")%> och <% =rs("Pris Lågsäsong")%>
----

<%
RS2.MoveNext

LOOP

RS.MoveNext

LOOP

RS2.close

RS.close

connection.close
%>

Det skumma är att övre delen av sidan visas, dvs allt INNAN den första "DO UNTIL"-loopen. Jag får alltså inget felmeddelande.

Tacksam för svar...igen! ;)

// Mattias

Medlem sedan juni 200032 967 inlägg
#2

det skulle ju kunna vara så enkelt att sql-frågan inte returnerar någonting, så att looparna aldrig körs.

skriv ut sql-frågorna med response.write, så ser du om det finns ett värde i stugid, gör det inte det så borde man försöka lista ut varför.

i övrigt är det väl inte så himla klockrent att ha en loop i en loop på det sättet?

ska du få en post tillbaka från vardera fråga, eller flera?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan mars 2000205 inlägg
#3

Det som skrevs ut var:

SELECT * FROM tblStuginfo_1 WHERE stugID =''

Detta innebär väl att den inte hittar nåt värde i querystring:en?! Förstår dock inte varför...

Angående den dubbla loopen så tycker inte jag heller att det ser så bra ut, men jag kom inte på nåt annat sätt att plocka alla uppgifter som är knutna till ett visst "StugID" från de båda tabellerna. Nåt förslag?

Medlem sedan juni 200032 967 inlägg
#4

kommer stugid i querystringen? inte från ett formulär med metoden post? isf ska du använda request.form istället.

visst kan man ha två loopar, men det ser inte bra ut att den ena är inne i den andra.

om det bara är en post du förväntar dig går det bra att använda if not rs.eof then i stället för en do loop.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan mars 2000205 inlägg
#5

Jag tror jag hittat felet. Det ligger i formuläret på föregående sida, dvs det som skickar "StugID"-värdet. Hinner dock inte prova förrän på måndag eftersom jag skall iväg i helgen.

Vill verkligen tacka dig för att du ställer upp och svarar på mina frågor, @nders!

// Mattias

Medlem sedan juni 2000126 inlägg
#6

Hej Mattias,

för att plocka ut all information från de 2 tabellerna skulle du kunna skriva SQL-uttrycket så här:

 
strSQL="SELECT * FROM tblStuginfo_1 A, tblStuginfo_2 B WHERE A.stugID=B.stugID AND A.stugID ='" & stugID & "'"

Detta medför att du får ut alla koloumner från bägge tabellerna i samma Recordset, har jag för mig.
OBS! Har inte provat koden själv, men har för mig att det är så här du skall skriva.

Lycka Till! :)
/Jonas
[Redigering] Stavfel, bara [/Redigering]

------------------
Jonas Florin
-Din gycklare i vardagen-

[Redigerat av clown den 27 jul 2001]

Medlem sedan mars 2000205 inlägg
#7

Koden du angav var helt korrekt, Jonas! Tack vare den fungerar det nu. Tydligen var det alltså inte bara formuläret på föregående sida som bidrog till att det inte fungerade. Även min "dubbelloop" var felaktig.

Är mycket tacksam!

// Mattias

591 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
158 ms — deklarationer (db)
0 ms — hämta statistik (cache)
153 ms — hämta tråd, inlägg och bilagor (db)
158 ms — ändringar (db)