Avatar billede dp2001 Juniormester
27. marts 2002 - 00:10 Der er 4 kommentarer og
1 løsning

Er der et max. for antal RecordSet?

Er der et max. for hvor mange RecordSet, man må åbne?

Nedenstående går godt med de første 12 RecordSet, men hvis jeg tilføjer RecordSet nr. 13, får jeg fejlen:

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl i FROM-delsætningen.
/oddsrus/discotek_start.asp, line 67

-Hvilket er noget vrøvl!

Kode:

' --start--

<html>
<head>
<title></title>
<link rel="stylesheet" href="layout/2.css" type="text/css" media="screen">
<link rel="stylesheet" href="layout/2p.css" type="text/css" media="print">
</head>
<body>
<div id='menu'>
<!--#include virtual='/aaa/menu.asp'-->
</div>
<h1>DiscOteket</h1>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("/xxx/yyy/zzz.mdb")&";"
Conn.Open strConnect


strSQL1 = "Select top 3 * from CD_CBR Order by dato_insert desc, titel"
strSQL2 = "Select top 3 * from CD_JES Order by dato_insert desc, titel"
strSQL3 = "Select top 3 * from CD_MAC Order by dato_insert desc, titel"
strSQL4 = "Select top 3 * from CD_PEL Order by dato_insert desc, titel"

strSQL5 = "Select top 3 * from DVD_CBR Order by dato_insert desc, titel"
strSQL6 = "Select top 3 * from DVD_JES Order by dato_insert desc, titel"
strSQL7 = "Select top 3 * from DVD_MAC Order by dato_insert desc, titel"
strSQL8 = "Select top 3 * from DVD_PEL Order by dato_insert desc, titel"

strSQL9 = "Select top 3 * from DivX_CBR Order by dato_insert desc, titel"
strSQL10 = "Select top 3 * from DivX_JES Order by dato_insert desc, titel"
strSQL11 = "Select top 3 * from DivX_MAC Order by dato_insert desc, titel"
strSQL12 = "Select top 3 * from DivX_PEL Order by dato_insert desc, titel"

strSQL13 = "Select top 3 * from S-VCD_CBR Order by dato_insert desc, titel"
strSQL14 = "Select top 3 * from S-VCD_JES Order by dato_insert desc, titel"
strSQL15 = "Select top 3 * from S-VCD_MAC Order by dato_insert desc, titel"
strSQL16 = "Select top 3 * from S-VCD_PEL Order by dato_insert desc, titel"

' strSQL17 = "Select top 3 * from VHS_CBR Order by dato_insert desc, titel"
' strSQL18 = "Select top 3 * from VHS_JES Order by dato_insert desc, titel"
' strSQL19 = "Select top 3 * from VHS_MAC Order by dato_insert desc, titel"
' strSQL20 = "Select top 3 * from VHS_PEL Order by dato_insert desc, titel"

Set rs1 = Conn.Execute(strSQL1)
Set rs2 = Conn.Execute(strSQL2)
Set rs3 = Conn.Execute(strSQL3)
Set rs4 = Conn.Execute(strSQL4)

Set rs5 = Conn.Execute(strSQL5)
Set rs6 = Conn.Execute(strSQL6)
Set rs7 = Conn.Execute(strSQL7)
Set rs8 = Conn.Execute(strSQL8)

Set rs9 = Conn.Execute(strSQL9)
Set rs10 = Conn.Execute(strSQL10)
Set rs11 = Conn.Execute(strSQL11)
Set rs12 = Conn.Execute(strSQL12)

Set rs13 = Conn.Execute(strSQL13)
Set rs14 = Conn.Execute(strSQL14)
Set rs15 = Conn.Execute(strSQL15)
Set rs16 = Conn.Execute(strSQL16)

' Set rs17 = Conn.Execute(strSQL17)
' Set rs18 = Conn.Execute(strSQL18)
' Set rs19 = Conn.Execute(strSQL19)
' Set rs20 = Conn.Execute(strSQL20)

Response.Write "<h4>Nyeste CD's...</h4>"
Response.Write "<table border='1px' cellpadding='2' cellspacing = '0' width='800px'>"
Response.Write "<th id='fed' width='200px'>CBR</th>"
Response.Write "<th id='fed' width='200px'>JES</th>"
Response.Write "<th id='fed' width='200px'>MAC</th>"
Response.Write "<th id='fed' width='200px'>PEL</th></tr>"

Response.Write "<tr><td valign='top'>"
Antal = 1
Do While Not rs1.EOF
  Response.Write rs1("kunstner") & " - " & rs1("titel") & "<br>"
  Antal = Antal + 1
  rs1.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs2.EOF
  Response.Write rs2("kunstner") & " - " & rs2("titel") & "<br>"
  Antal = Antal + 1
  rs2.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs3.EOF
  Response.Write rs3("kunstner") & " - " & rs3("titel") & "<br>"
  Antal = Antal + 1
  rs3.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"

Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs4.EOF
  Response.Write rs4("kunstner") & " - " & rs4("titel") & "<br>"
  Antal = Antal + 1
  rs4.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td></tr></table>"

Response.Write "<h4>Nyeste DVD's...</h4>"
Response.Write "<table border='1px' cellpadding='2' cellspacing = '0' width='800px'>"
Response.Write "<th id='fed' width='200px'>CBR</th>"
Response.Write "<th id='fed' width='200px'>JES</th>"
Response.Write "<th id='fed' width='200px'>MAC</th>"
Response.Write "<th id='fed' width='200px'>PEL</th></tr>"

Response.Write "<tr><td valign='top'>"
Antal = 1
Do While Not rs5.EOF
  Response.Write rs5("kunstner") & " - " & rs5("titel") & "<br>"
  Antal = Antal + 1
  rs5.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs6.EOF
  Response.Write rs6("titel") & "<br>"
  Antal = Antal + 1
  rs6.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs7.EOF
  Response.Write rs7("titel") & "<br>"
  Antal = Antal + 1
  rs7.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"

Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs8.EOF
  Response.Write rs8("titel") & "<br>"
  Antal = Antal + 1
  rs8.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td></tr></table>"

Response.Write "<h4>Nyeste DivX...</h4>"
Response.Write "<table border='1px' cellpadding='2' cellspacing = '0' width='800px'>"
Response.Write "<th id='fed' width='200px'>CBR</th>"
Response.Write "<th id='fed' width='200px'>JES</th>"
Response.Write "<th id='fed' width='200px'>MAC</th>"
Response.Write "<th id='fed' width='200px'>PEL</th></tr>"

Response.Write "<tr><td valign='top'>"
Antal = 1
Do While Not rs9.EOF
  Response.Write rs9("kunstner") & " - " & rs9("titel") & "<br>"
  Antal = Antal + 1
  rs9.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs10.EOF
  Response.Write rs10("titel") & "<br>"
  Antal = Antal + 1
  rs10.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs11.EOF
  Response.Write rs11("titel") & "<br>"
  Antal = Antal + 1
  rs11.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"

Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs12.EOF
  Response.Write rs12("titel") & "<br>"
  Antal = Antal + 1
  rs12.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td></tr></table>"

Response.Write "<h4>Nyeste S-VCD's...</h4>"
Response.Write "<table border='1px' cellpadding='2' cellspacing = '0' width='800px'>"
Response.Write "<th id='fed' width='200px'>CBR</th>"
Response.Write "<th id='fed' width='200px'>JES</th>"
Response.Write "<th id='fed' width='200px'>MAC</th>"
Response.Write "<th id='fed' width='200px'>PEL</th></tr>"

Response.Write "<tr><td valign='top'>"
Antal = 1
Do While Not rs13.EOF
  Response.Write rs13("kunstner") & " - " & rs13("titel") & "<br>"
  Antal = Antal + 1
  rs13.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs14.EOF
  Response.Write rs14("titel") & "<br>"
  Antal = Antal + 1
  rs14.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"


Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs15.EOF
  Response.Write rs15("titel") & "<br>"
  Antal = Antal + 1
  rs15.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td>"

Response.Write "<td valign='top'>"
Antal = 1
Do While Not rs16.EOF
  Response.Write rs16("titel") & "<br>"
  Antal = Antal + 1
  rs16.MoveNext
Loop
if Antal < 3 then
Response.Write ".."
end if
Response.Write "</td></tr></table>"

%>
<hr>
<!--#include virtual="/aaa/address.htm"-->
</body>
</html>

' --slut--
Avatar billede erikjacobsen Ekspert
27. marts 2002 - 00:16 #1
Du kan ikke have en bindestreg i et tabel navn i SQL.

Men da du sikkert er en flink, selv om du sikkert bruger Access,
så får du en lille workaround:

strSQL13 = "Select top 3 * from [S-VCD_CBR] Order by dato_insert desc, titel"
Avatar billede pelkjaer Nybegynder
27. marts 2002 - 00:28 #2
Jeg synes nu godt nok at 13 recordsets er i overkanten.. og det hjælper da slet ikke på det hvis du bruger Access.
Avatar billede erikjacobsen Ekspert
27. marts 2002 - 00:30 #3
Spørgerens databasemodel kunne godt trænge til en revision,
men jeg tror nu nok den går. Men man kunne også nøjes med
at have max ét recordset åbent - ved at lukke efter hver
forespørgsel.
Avatar billede pelkjaer Nybegynder
27. marts 2002 - 00:40 #4
Ja det virker sikkert fint - det er bare langsomt med så mange recordsets. Man kunne spare recordsets ved at gemme entriesne i en XML data fil og hive dem ud den vej igennem.
Avatar billede dp2001 Juniormester
27. marts 2002 - 09:44 #5
Det var jeg ikke klar over - og det var selvfølgelig det, der var problemet.

Hvad angår de mange recordsets, kan I da have ret i, at det lyder af mange, men jeg ser ingen anden udvej, da jeg ikke evner XML.

Takker for hjælpen.
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