Avatar billede tution Nybegynder
18. december 2007 - 14:01 Der er 7 kommentarer

Asp og databaseproblemer

Hejsa. Jeg har i et skoleprojekt fået til opgave at lave et kort, med links inden for kordinater (Se http://www.ihk-edu.dk/web/070063/Eksamensopgave/Opgaver/Uge47/index.html )

Når man klikker på linksene, skulle den gerne spytte informationer omkring de enkelte landsdele, men det er den ikke meget for.

Jeg tror problemet er at finde enten i databasen eller i siden "oplysning.asp", da jeg kan se at både min "opretforbindelse.asp" og "index.html" virker efter hensigten.


Nedenfor er kopieret siden "oplysning.asp":
------------------- Oplysning.asp ----------------------------

<!--#include file ="opretforbindelse.asp" -->

<%
Dim amt
amt = Request.Querystring("amt")

Response.Write amt

StrSQL= "select vaerdier.antal from vaerdier where vaerdier.år=1983 and vaerdier.nummer=(select nummer from amter where amter.amt='"&amt&"');"
       
Set rs = Conn.Execute(strSQL)

Response.Write "Resultater for " & amt &" amt:<BR>"

Response.Write "For året 1983 : "
dim tal1
tal1=rs.fields("1983")
Response.Write " " & tal1 & " Total for alle amter : "

strSQL= "select sum (vaerdier.antal) from vaerdier where veardier.år=1983"
Set rs = Conn.Execute(strSQL)
dim talx
talx=rs.fields("Expr1000") ' resultat af en forespørgsel
Response.Write " " & talx

Response.Write "For året 2001 : "
dim tal2
tal1=rs.fields("antal")
Response.Write " " & tal2 & " Total for alle amter : "


%>

--------------------------------------------------------

Ønsker i at se databasen, som et skærmskud er den at finde her:
http://www.ihk-edu.dk/web/070063/Eksamensopgave/Opgaver/Uge47/Billeder/database.jpg

---------------------------------------------------------

Jeg håber der er nogle af jer eksperten, der kan gennemskue den. Hvis i har brug for yderligere oplysninger, så er i meget velkomne til at spørge.

vh Kåre
Avatar billede softspot Forsker
18. december 2007 - 14:08 #1
Jeg fik ikke helt fat i hvad det er du oplever når du forsøger at køre dit script, men jeg gætter på det har noget med danske tegn i dine felter at gøre. Derfor vil jeg først og fremmest foreslå at du sætter [] omkring felter der indeholder æ, ø og å.

StrSQL= "select vaerdier.antal from vaerdier where vaerdier.[år]=1983 and vaerdier.nummer=(select nummer from amter where amter.amt='"&amt&"');"

og

strSQL= "select sum (vaerdier.antal) from vaerdier where veardier.[år]=1983"

hvis der skulle være flere, kan du nok se idéen med det jeg skriver... :)
Avatar billede tution Nybegynder
18. december 2007 - 14:25 #2
Det hjælp desværre ikke så meget, men du kan selv se, hvad der sker, når jeg kører scriptet på http://www.ihk-edu.dk/web/070063/Eksamensopgave/Opgaver/Uge47/oplysning.asp?amt=nordjylland

---------------------------------------------------
Den skriver følgene når man trykker på nordjylland:

nordjyllandResultater for nordjylland amt:
For året 1983 :
ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/web/070063/Eksamensopgave/Opgaver/Uge47/oplysning.asp, line 24
Avatar billede softspot Forsker
18. december 2007 - 14:32 #3
Der er måske lige en anden lille detalje der skal rettes (stavemåden af vaerdier i where-delen):

strSQL= "select sum (vaerdier.antal) from vaerdier where vaerdier.[år]=1983"

alternativt undlad at præfikse felter med tabelnavnet:

strSQL= "select sum(antal) from vaerdier where [år]=1983"
Avatar billede softspot Forsker
18. december 2007 - 14:36 #4
OK, jeg ser lige at du spørger på et felt der hedder 1983 - hvorfor??

tal1=rs.fields("1983")

ligeledes spørger du senere på et felt der hedder Expr1000:

talx=rs.fields("Expr1000") ' resultat af en forespørgsel

Den kan jeg bedre forstå, men jeg vil foreslå at du giver feltet et alias i din SQL i stedet og så benytter dette:

strSQL= "select sum(antal) as antal from vaerdier where [år] = 1983"

og så aflæser det på denne måde:

talx=rs.fields("antal") ' resultat af en forespørgsel
Avatar billede softspot Forsker
18. december 2007 - 14:39 #5
OK, antal er måske ikke det bedste alias, da du tilsyneladende har et felt ved det navn i tabellen, men så kan du f.eks. kalde det sumAntal i stedet.

Hvad angår linien

tal1=rs.fields("1983")

så er det måske nok feltet antal du skal aflæse (da det er det felt du udlæser):

tal1=rs.fields("antal")
Avatar billede softspot Forsker
18. december 2007 - 14:44 #6
hele koden kunne så se således ud:

------------------- Oplysning.asp ----------------------------

<!--#include file ="opretforbindelse.asp" -->

<%
Dim amt
amt = Request.Querystring("amt")

Response.Write amt

StrSQL= "select antal from vaerdier where [år]=1983 and nummer = (select nummer from amter where amt='"&amt&"');"
       
Set rs = Conn.Execute(strSQL)

Response.Write "Resultater for " & amt &" amt:<BR>"

Response.Write "For året 1983 : "
dim tal1
tal1=rs.fields("antal")
Response.Write " " & tal1 & " Total for alle amter : "
rs.close

strSQL= "select sum(antal) as sumAntal from vaerdier where [år] = 1983"
Set rs = Conn.Execute(strSQL)
dim talx
talx=rs.fields("sumAntal") ' resultat af en forespørgsel
Response.Write " " & talx

' **** nedenstående giver ikke rigtig nogen mening, da du summerer feltet antal
' **** og derefter aflæser antal (uden at udvælge feletet i øvrigt).
' **** der må ligge en anden tanke bag dette forsøg... :-)
Response.Write "For året 2001 : "
dim tal2
tal2=rs.fields("antal")
Response.Write " " & tal2 & " Total for alle amter : "
rs.close

%>

--------------------------------------------------------

Jeg tror bare der mangler en forklaring på hvad du vil med det der antal til sidst...
Avatar billede tution Nybegynder
18. december 2007 - 15:23 #7
Jeg vil gerne have et resultat, der viser noget lignende dette:
http://www.ihk-edu.dk/web/070063/Eksamensopgave/Opgaver/Uge47/billeder/resultat.jpg

Altså at den viser antal ingeniører for året 1983 og 2001 i det givne amt. Og det totale antal ingeniører for alle amter
Til sidst skulle den så meget gerne vise forskellen for de to år målt i procent.

Håber det hjælper lidt til at forklare hvorledes, det meget gerne skulle ende.
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