Avatar billede mrdj Nybegynder
24. maj 2006 - 20:39 Der er 11 kommentarer og
1 løsning

Returnering af flere data

Hejsa igen

jeg sidder med en lille asp side hvor jeg har nogle data jeg returnerer fra 2 forskellige databaser, dette fungerer skam også
fint nok. Men nu er jeg så løbet ind i et krav om at have en detalje på siden som returnerer data om hvilke andre starter en spiller er tilmeldt eller har deltaget i. Jeg kan ikke rigtig få den til at returnere alle data omkring de andre starter

Resultatdata ligger i een tabel (DB1)
Oversigt over hvilke starter en spiller er tilmeldt ligger i en anden tabel (DB1)
Resultaterne ligger i en anden DB (DB2)

Det eneste jeg ønsker er ved den linie der hedder noget med "List of other squads this player is in" bliver returneret ALLE de starter som spilleren er tilmeldt i WebSquads tabellen.
Spilleren bliver genkendt på unikt ID hele systemet igennem

Jeg har asp koden nedenunder, linien(erne) det drejer sig om starter med ***


if Request.Querystring = "" then
  Response.Write ("Missing argument: ?startnummer=1 example")
else
' slut fejl

dim id
id = request.querystring("id")

dim squadnumber
squadnumber = request.querystring("squadnumber")

strSQL = "Select * from Scores where id="&id&" and squadnumber="&squadnumber&" and serie = 1 order by serie asc"
Set rs = Conn.Execute(strSQL)

strSQL2 = "SELECT * FROM Websquadstandings where number = "&id&""
Set rs2 = Conn2.Execute(strSQL2)

*** strSQL4 = "SELECT * FROM Websquads"
*** Set rs4 = Conn2.Execute(strSQL4)

if rs.eof = 0 then

Response.Write "<br><center><b><font face=Verdana size=4>" & ("Scoresheet for") & ""
Response.Write "<br><center><b><font face=Verdana size=3>" & rs("navn") & ("<br>") & rs2("club") & (", ") & rs2("country") & ""
Response.Write "<br><center><b><font face=Verdana size=2>" & ("Squad: ") & rs("squadnumber") & "<br>"
*** Response.Write "<br><center><b><font face=Verdana size=2>" & ("List of other squads this player is in ") & rs4("squadnumber") & "<br><br>"

Response.Write ("<table border=1 cellpadding=3 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 style=TEXT-ALIGN: center width=35% bgcolor=Ivory align=center>")
Do
Response.Write ("<tr>")
Response.Write ("<td colspan=21 align=left><FONT FACE=Verdana SIZE=2><b>" & "Game: " &rs("Serie") & ", " &rs("tidspunkt") & " - Lane: " &rs("bane") & "</td>")
Response.Write ("</tr>")
Response.Write ("<tr>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "1</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "2</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "3</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "4</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "5</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "6</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "7</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "8</b>" & "</td>")
    Response.Write ("<td colspan=2><FONT FACE=Verdana SIZE=2><b><center>" & "9</b>" & "</td>")
    Response.Write ("<td colspan=3><FONT FACE=Verdana SIZE=2><b><center>" & "10</b>" & "</td>")
    Response.Write ("</tr>")
Response.Write ("</tr>")

  Response.Write "<TR onMouseOver=this.bgColor='#6699CC' onMouseOut=this.bgColor='Ivory'>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("1-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("1-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("2-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("2-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("3-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("3-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("4-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("4-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("5-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("5-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("6-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("6-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("7-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("7-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("8-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("8-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("9-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("9-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("10-1") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("10-2") & "</td>"
  Response.Write "<td width=10><center><FONT FACE=Verdana SIZE=2>" &rs("10-3") & "</td></tr>"
  Response.Write ("<tr>")
  Response.Write ("<td colspan=21 align=left><FONT FACE=Verdana SIZE=2><b><p align=right>" & "HCP: " &rs("hcp") & (" - ") & "Score: " &rs2("G1") & "</td></tr>")
  Response.Write ("</tr>")

  rs.MoveNext

På forhånd tak for hjælpen
Avatar billede nico26 Nybegynder
25. maj 2006 - 15:33 #1
beskriv lige de to tabeller Websquadstandings og Websquads
Avatar billede mrdj Nybegynder
25. maj 2006 - 18:26 #2
I Websquadstandings har jeg alle resultater for spilleren (G1, G2, G3, G4, G5, G6, HCP, Total) - Den tabel bruger jeg IKKE til andet end hente seriescoren for den givne spiller som skrives nederst på siden.

I Websquads har jeg en oversigt over alle de starter den givne spiller er tilmeldt genkendt på "Squadnumber". Det er den tabel jeg gerne skal have til at returnere alle de startnumre som spilleren er tilmeldt på den side der er kodet ovenfor.
Avatar billede mrdj Nybegynder
25. maj 2006 - 21:16 #3
Hejsa Igen...
Jeg har nu selv fået løst noget af problemstillingen, viste sig at jeg manglende et rs4 loop. Nu har jeg fået den til at returnere de startnumre det omhandler, men nu er problemet så at den skriver teksten ligeså mange gange som der er startnumre til

Hvordan får jeg den til at skrive
*** Response.Write "<br><center><b><font face=Verdana size=2>" & ("List of other squads this player is in ") & rs4("squadnumber") & "<br><br>"

Så det kommer til at stå sådan her

List of other squads this player is in
1 - 2 - 5 - 7

som det er lige nu står det sådan her

List of other squads this player is in
1

List of other squads this player is in
2

List of other squads this player is in
5

osv

------ Jeg indsætter her min tilrettede kode med loop ------


strSQL4 = "SELECT * FROM Websquads where number="&id&""
Set rs4 = Conn2.Execute(strSQL4)

if rs.eof = 0 then
if rs4.eof = 0 then

Response.Write "<br><center><b><font face=Verdana size=4>" & ("Scoresheet for Squad ") & rs("squadnumber") & "<br>"
Response.Write "<br><center><b><font face=Verdana size=3>" & rs("navn") & ("<br>") & rs2("club") & (", ") & rs2("country") & "<br><br>"
  Do
'Response.Write "<br><center><b><font face=Verdana size=2>" & ("List of other squads this player is in ") & "<br>" & rs4("squadnumber") & "<br><br>"
  rs4.MoveNext
  Loop While Not rs4.EOF


På forhånd mange tak for hjælpen
Avatar billede nico26 Nybegynder
25. maj 2006 - 21:44 #4
Response.Write "<br><center><b><font face=Verdana size=2>List of other squads this player is in</font></b></center><br>"

  Response.Write rs4("squadnumber")
  rs4.MoveNext

  Do Until rs4.EOF
    Response.Write " - " & rs("squadnumber")
    rs4.MoveNext
  Loop
Avatar billede mrdj Nybegynder
25. maj 2006 - 23:36 #5
Det virker næsten efter hensigten, dog er der den fejl at den bliver ved med at liste den samme start igen 5 gange. Hvordan undgår jeg lige det

Du kan se fejlen her:

http://www.bai2006.dk/results/score.asp?id=35&squadnumber=1

Den spiller har f.eks spillet start 1,2,4
Avatar billede mrdj Nybegynder
25. maj 2006 - 23:58 #6
Tror selv jeg har fået det løst nu, det ser ihvertfald rigtigt ud og lister de rigtige data.
Avatar billede mrdj Nybegynder
26. maj 2006 - 00:01 #7
Der er så lige en enkelt anden ting jeg undrer mig over. Når man f.eks vælger start nummer 2 får man at vide at

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/results/score.asp, line 26

Denne fejl undrer mig ekstremt meget, da alle data kommer fra samme 2 stk DB og samme forespørgsel med samme felt typer osv. Men vælger man f.eks start nr. 3,4,5 er der intet problem og ej heller ved nr 1 - men ved nr 2 og 6 kommer denne mystiske fejl. Er der nogen der kan svare på dette ? Database med scores i kan sagtens fremsendes, for jeg har ledt og ledt og kan intet finde der ser "anderledes" ud
Avatar billede nico26 Nybegynder
26. maj 2006 - 11:39 #8
post lige linie 26 i score.asp
Avatar billede mrdj Nybegynder
26. maj 2006 - 13:40 #9
Linie 25 & 26 ser sådan ud

strSQL = "Select * from Scores where id="&id&" and squadnumber="&squadnumber&" and serie=1 order by serie asc"
Set rs = Conn.Execute(strSQL)

Det underlige er jo at det virker ved nogle af dataene
Avatar billede nico26 Nybegynder
26. maj 2006 - 14:15 #10
bare et gæt

id = Int(Trim(request.querystring("id")))
Avatar billede mrdj Nybegynder
26. maj 2006 - 15:08 #11
Det har jeg nu prøvet at ligge ind, og det hjalp desværre ikke.

Men har så analyseret lidt videre på den yderst mystiske problemstilling, og er så kommet frem til noget som absolut ikke gør det mindre besværligt at finde ud af.

SLetter jeg nogle poster i DBen så jeg kommer under 800 ialt så virker 2 & 6 fint.
Men har jeg over disse 800 poster så fejler 2 & 6.

Jeg kan fremsende DB samt ASP fil til dig, hvis du ønsker dette. For synes virkelig det er yderst mystisk.
Avatar billede mrdj Nybegynder
08. oktober 2006 - 22:32 #12
Ingen respons så lukker spørgsmålet. Desværre blev fejlen ikke fundet.
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