Avatar billede slapstick Nybegynder
10. juni 2002 - 14:57 Der er 9 kommentarer og
2 løsninger

samle recordsets

jeg har 2 sql queries hvor indholdet skal spyttes ud på skærmen
den ene indeholder nyhedsoverskrift og historie
og den anden indeholder info til streaming filer der hører til historien

koden kommer her:

strSQL1 = "SELECT * FROM news WHERE"
strSQL1 = strSQL1 & " (dato LIKE '%" & strKeyword & "%')"

strSQL2 = "SELECT * FROM stream WHERE"
strSQL2 = strSQL2 & " (dato LIKE '%" & strKeyword & "%')"


' Skaber et recordset udfra SQL strengen
Set rs1 = Conn.Execute(strSQL1)
Set rs2 = Conn.Execute(strSQL2)
If Not (rs1.BOF Or rs1.EOF) Then
    ' Hvis der er fundet poster på søgningen
    Response.Write "<p class='text'><b>Søgeresultat</b></p>"
    Response.Write "<table border=0 class='text'>"
    Do While Not rs1.EOF
        Response.Write "<tr><td class='text'><b>" & rs("headline") & "</b></td></tr>"
        Response.Write "<tr><td class='text'><b>" & rs("story") & "</b></td></tr>"
        rs1.MoveNext
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p class='text'><b>Der er ikke fundet noget på denne søgning</b></p>"
End If

sådan som det er nu så vil den først udskrive første recordset rs1 og så derefter rs2
men skal ha dem så der står feks
nyhedsoverskrift
historie
og så streaming info

og så den næste nyhedsoverskrift
historie streaminfo

osv osv
nogle ideer?
Avatar billede robin-steen Nybegynder
10. juni 2002 - 15:03 #1
brug inner join i din sql sætning så kan du hente poster fra både news og stream på samme tid med samme recordset. så behøves du ikke oprette to af slagsen
Avatar billede slapstick Nybegynder
10. juni 2002 - 15:11 #2
ok kan du ikke gi mig et eksempel evt?
Avatar billede medions Nybegynder
10. juni 2002 - 15:24 #3
strSQL = "SELECT news.dato, stream.dato
FROM news, stream WHERE (news.dato LIKE '%" & strKeyword & "%') AND (stream.dato LIKE '%" & strKeyword & "%')"

//>Rune
Avatar billede robin-steen Nybegynder
10. juni 2002 - 15:25 #4
her er et eksempel.
SELECT projekter.*, pgrupper.*
FROM pgrupper INNER JOIN (projekter INNER JOIN adgang ON projekter.ID = adgang.projektID) ON pgrupper.ID = adgang.gruppeID;

prøv og søg på det på de forskellige sider jeg kan ikke huske det i hovedet men det skulle ikke være umuligt at finde noget der er forståeligt
- Robin Steen
Avatar billede slapstick Nybegynder
10. juni 2002 - 15:34 #5
smukt tak for svarene :))
Avatar billede robin-steen Nybegynder
10. juni 2002 - 15:35 #6
det var så lidt ;o)
Avatar billede slapstick Nybegynder
10. juni 2002 - 15:37 #7
lige 1 spørgsmål til
hvad så hvis man har 2 felter der hedder det samme i 2 tabeller
og gerne vil udskrive begge to, hvordan kender man så forskel?
Avatar billede medions Nybegynder
10. juni 2002 - 15:42 #8
Du kunne fx. gøre som følgende:

strSQL = "SELECT news.dato As NewsDate, stream.dato As StreamDate
FROM news, stream WHERE (news.dato LIKE '%" & strKeyword & "%') AND (stream.dato LIKE '%" & strKeyword & "%')"

og så:
Response.Write(rs(NewsDate))
Response.Write(rs(StreamDate))

-mener nok det kan lade sig gøre...!
//>Rune
Avatar billede medions Nybegynder
10. juni 2002 - 15:42 #9
Thx 4 Poinz
//>Rune
Avatar billede slapstick Nybegynder
10. juni 2002 - 15:42 #10
smuukt tak !!! :))))
Avatar billede medions Nybegynder
10. juni 2002 - 15:45 #11
;-)

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester