|
| Jeg får kun en post... Hjælp tak! Fra : Jon Rasmussen |
Dato : 06-02-05 15:21 |
|
Jeg har en database hvor jeg skal bruge et sammenhæng i
anmaldigrupp mellem hold nr.(nummer) og idnumre (IDnummer) på
svømmerne på holdet, for derefter at udskrive en liste med
svømmere der går på holdet fra tabellen Medlem hvor jeg skal have
skrevet Namn, efternamn, fodelsear og IDnummer som skal laves som
link.
Men lige nu får jeg kun skrevet den første svømmer ud, kan ikke
selv se fejlen, håber i kan!
Databasen er en der bliver lavet ud fra et program der er
standart i Dansk Svømning, men er lavet i Sverige. Det er derfor
det er sådan nogle mærkelige navne fra tabellen.
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/grodandb.mdb")
Conn.Open DSN
' Henter fra database afhængig af værdien hold fra URL
strSQL = "Select IDnummer From anmaldigrupp Where
anmaldigrupp.nummer = " & Request.Querystring("hold")
Set rs = Conn.Execute(strSQL)
strIDer = rs("IDnummer")
strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From
Medlem Where IDnummer = " & strIDer
Set rs2 = Conn.Execute(strSQL2)
strID = rs("IDnummer")
Do
' Personens navn og årgang
strFuldtNavn = rs2("Namn") & " " & rs2("efternamn") & " - " &
rs2("fodelsear")
strHold = Request.Querystring("hold")
' laver et link til person.asp med Id-værdien i URL
strLink = "<a href='person.asp?hold=" & strHold & "&id=" &
rs2("IDnummer") & "'>" & strFuldtNavn & "</a>"
' Liste med links
Response.Write "<li>" & strLink & "</li>"
rs2.MoveNext
Loop While Not rs2.EOF
Conn.Close
Set Conn = Nothing
%>
På forhånd tak!!
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
finn elmgaard (06-02-2005)
| Kommentar Fra : finn elmgaard |
Dato : 06-02-05 17:31 |
|
----- Original Message -----
From: "Jon Rasmussen" <jonNOSPAM@swim.dk>
Newsgroups: dk.edb.internet.webdesign.serverside.asp
Sent: Sunday, February 06, 2005 3:20 PM
Subject: Jeg får kun en post... Hjælp tak!
> Men lige nu får jeg kun skrevet den første svømmer ud, kan ikke
> selv se fejlen, håber i kan!
>
> Databasen er en der bliver lavet ud fra et program der er
> standart i Dansk Svømning, men er lavet i Sverige. Det er derfor
> det er sådan nogle mærkelige navne fra tabellen.
>
Ja, de er jo mærkelige, de svenskere
> ' Henter fra database afhængig af værdien hold fra URL
> strSQL = "Select IDnummer From anmaldigrupp Where
> anmaldigrupp.nummer = " & Request.Querystring("hold")
> Set rs = Conn.Execute(strSQL)
> strIDer = rs("IDnummer")
>
> strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From
> Medlem Where IDnummer = " & strIDer
>
> Set rs2 = Conn.Execute(strSQL2)
>
> strID = rs("IDnummer")
>
> Do
..
..
..
> rs2.MoveNext
> Loop While Not rs2.EOF
Du henter ét IDnummer med:
> strIDer = rs("IDnummer")
I din strSQL2 indsætter du strIDer. Men du får altid kun fat i dette første
IDnummer, for du gennemløber aldrig dit rs, kun dit rs2.
Du kan f.eks. lave en dobbelt løkke, hvor du løber begge løkker igennem
eller du kan måske lave det mere smart i dit SQL-udtræk, med noget i retning
af:
SQLstr=" SELECT ..... FROM Medlem WHERE IDnummer IN (SELECT IDnummer FROM
anmaldigrupp WHERE anmaldigrupp.nummer=.....)"
(Ikke afprøvet!)
mvh
Finn
| |
Jon Rasmussen (06-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 06-02-05 19:32 |
|
Jeg har prøvet det du sagde, men jeg får en fejl i linien "Set rs2 =
Conn.Execute(strSQL2)", den siger "Microsoft OLE DB Provider for ODBC Drivers
(0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
ventet 1."
Hvad gør jeg forkert?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
finn elmgaard (06-02-2005)
| Kommentar Fra : finn elmgaard |
Dato : 06-02-05 20:23 |
|
"Jon Rasmussen" <jon@swim.dk> wrote in message
news:42066293$0$29846$14726298@news.sunsite.dk...
> Jeg har prøvet det du sagde, men jeg får en fejl i linien "Set rs2 =
> Conn.Execute(strSQL2)", den siger "Microsoft OLE DB Provider for ODBC
Drivers
> (0x80040E10)
> [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
> ventet 1."
>
> Hvad gør jeg forkert?
>
Det kan måske være fordi, du ikke har fået lagt nogen værdi ind i strIDer?
Det er altid en god ide ved fejlsøgning at udskrive SQLstrengen. Det kan du
gøre ved umiddelbart efter denne at skrive:
Response.write strSQL2
Response.end
Hvis du stadig har problemer, så send den tilrettede kode herind.
mvh
Finn
| |
Jon Rasmussen (06-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 06-02-05 20:31 |
|
Du må meget gerne prøve at kigge på det. Jeg bruger ikke strIDer før fejlen, så
det burde ikke være derfor, og hvis du mente strHold, så er den jo som du kan
se givet.
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/grodandb.mdb")
Conn.Open DSN
strHold = Request.Querystring("hold")
' Henter fra database afhængig af værdien hold fra URL
strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer=
strHold)"
Set rs2 = Conn.Execute(strSQL2)
strID = rs("IDnummer")
Do
' Personens navn og årgang
strFuldtNavn = rs2("Namn") & " " & rs2("efternamn") & " - " &
rs2("fodelsear")
' laver et link til person.asp med Id-værdien i URL
strLink = "<a href='person.asp?hold=" & strHold & "&id=" & rs2("IDnummer") &
"'>" & strFuldtNavn & "</a>"
' Liste med links
Response.Write "<li>" & strLink & "</li>"
rs2.MoveNext
Loop While Not rs2.EOF
Conn.Close
Set Conn = Nothing
%>
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
finn elmgaard (06-02-2005)
| Kommentar Fra : finn elmgaard |
Dato : 06-02-05 20:47 |
|
"Jon Rasmussen" <jon@swim.dk> wrote in message
news:4206707e$0$29850$14726298@news.sunsite.dk...
> Du må meget gerne prøve at kigge på det. Jeg bruger ikke strIDer før
fejlen, så
> det burde ikke være derfor, og hvis du mente strHold, så er den jo som du
kan
> se givet.
>
> strHold = Request.Querystring("hold")
>
> ' Henter fra database afhængig af værdien hold fra URL
> strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
> IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer=
> strHold)"
Her går det galt. StrHold er en variabel, som du ikke kan sætte direkte ind
i en streng.
Se hvordan du oprindelig gjorde det rigtigt:
..............Where anmaldigrupp.nummer = " & Request.Querystring("hold")
PS. Det ville du kunne se, hvis du havde udskrevet strSQL2.
PPS. Det er dog kun rigtigt, hvis hold er et tal. Ellers skal der ' omkring.
mvh
Finn
| |
Jon Rasmussen (07-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 07-02-05 06:42 |
|
Jeg har prøvet det du foreslår, men uanset hvad jeg gør møder jeg denne fejl:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/holdliste.asp, line 19, column 179
strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer = " &
Request.Querystring("hold"))"
Jeg kan tydeligvis ikke finde ud af at afslutte den ordentligt, kan du se
fejlen?
strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer = " &
Request.Querystring("hold"))"
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
finn elmgaard (07-02-2005)
| Kommentar Fra : finn elmgaard |
Dato : 07-02-05 11:13 |
|
"Jon Rasmussen" <jonNOSPAM@swim.dk> wrote in message
news:4206ffc2$0$29275$14726298@news.sunsite.dk...
> Jeg har prøvet det du foreslår, men uanset hvad jeg gør møder jeg denne
fejl:
>
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
> Slut på sætning var ventet
> /holdliste.asp, line 19, column 179
> strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
> IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer =
" &
> Request.Querystring("hold"))"
>
> Jeg kan tydeligvis ikke finde ud af at afslutte den ordentligt, kan du se
> fejlen?
>
Hej igen
Jeg erkender, at mit seneste svar måske kunne misforståes. Pointen var ikke,
at udtrykket med Request.Querystring nødvendigvis skulle indsættes i strSQL
istedet for den variabel strHold, som du havde lagt den over i. Tværtimod
synes jeg det er godt for overskuelighedens skyld at lægge det over i en
variabel. MEN pointen var, at når man har en værdi i et udtryk eller en
variabel, kan det ikke indsættes som en anden tekst i strengen.
I dit seneste forsøg (herover) afslutter du godt nok første del af strengen
og tilføjer variablen, og tilføjer så en slutparantes. Men den sidste
parantes skal tilføjes som en ny tekststreng.
Følgende kan fungere:
strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer = "
& strHold & ")"
Jeg har her forudsat, at i databasebn er anmaldigrupp.nummer defineret som
et tal og at IDnummer i begge tabeller også er tal.
mvh
Finn
| |
Jens Gyldenkærne Cla~ (07-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 07-02-05 11:54 |
|
Jon Rasmussen skrev:
> Jeg kan tydeligvis ikke finde ud af at afslutte den ordentligt, kan du se
> fejlen?
>
> strSQL2 = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where
> IDnummer IN (Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer = " &
> Request.Querystring("hold"))"
Den er gal i slutningen af sætningen. Request.querystring("hold") skal
sættes ind med & på begge sider og tilsvarende skal der anførselstegn
både før og efter de strenge der står på hver side af
querystring-parameteren:
strSQL2 = "SELECT .... Where anmaldigrupp.nummer = " &
Request.Querystring("hold") & ")"
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jon Rasmussen (07-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 07-02-05 12:16 |
|
Mange tak begge to! Den virker som den skal nu! Det er virkeligt rart at der findes
folk som jer der er klar til at hjælpe en stakkels nybegynder!
Jeg har lige et andet spørgsmål, hvordan får jeg nemmest gjort så hvis den ikke
finder nogen IDnumre til det på gældende hold nummer, så skriver den at der ikke
kunne findes nogen... Det må være noget if then else, men kan ikke lige få det til
at virke??
Forslag:
if rs2.EOF then Response.Write "Ingen svømmere fundet..." else:
Men det virker ikke helt, heller ikke hvis jeg tilføjer noget end i bunden og
sådan.
Håber i lige kan hjælpe igen :)
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (07-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 07-02-05 12:31 |
|
Jon Rasmussen skrev:
> Jeg har lige et andet spørgsmål, hvordan får jeg nemmest gjort så hvis den ikke
> finder nogen IDnumre til det på gældende hold nummer, så skriver den at der ikke
> kunne findes nogen... Det må være noget if then else,
Du er på rette spor.
> if rs2.EOF then Response.Write "Ingen svømmere fundet..." else:
Det ser rimeligt nok ud - hvilken fejl får du?`
En generel skabelon til at håndtere "nul poster" kan se ud som her:
strSQL = "SELECT.... "
set rs = conn.execute (strSQL)
If rs.EOF Then
' Udskriv information om ingen poster
Else
' Udskriv fundne poster:
Do While Not rs.EOF
' Udskriv enkeltpost
rs.movenext
Loop
End If
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jon Rasmussen (07-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 07-02-05 15:12 |
|
Jeg kan sagtens se meningen i det du skriver, men jeg kan virkeligt ikke finde ud af
hvordan jeg får det luske ind i den her kode:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Hold Liste</title>
</head>
<body>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/grodandb.mdb")
Conn.Open DSN
strHold = Request.Querystring("hold")
' Henter fra database afhængig af værdien hold fra URL
strSQL = "Select Namn, efternamn, fodelsear, IDnummer From Medlem Where IDnummer IN
(Select IDnummer From anmaldigrupp Where anmaldigrupp.nummer = " & strHold & ")
Order By Namn"
Set rs = Conn.Execute(strSQL)
%>
<table border="1" width="35%" id="table1">
<tr>
<td width="210"><b>Navn:</b></td>
<td><b>Årgang:</b></td>
</tr>
<%
Do
' Personens navn og årgang
strNavn = rs("Namn") & " " & rs("efternamn")
strBorn = rs("fodelsear")
' laver et link til person.asp med Id-værdien i URL
strLink = "<a href='person.asp?hold=" & strHold & "&id=" & rs("IDnummer") &
"&navn=" & strNavn & "&year=" & strBorn & "'>" & strNavn & "</a>"
' Liste med links
Response.Write "<tr><td>" & strLink & "</td>"
Response.Write "<td>" & strBorn & "</td></tr>"
rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Jeg håber du kan finde en løsning!
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (07-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 07-02-05 15:39 |
|
Jon Rasmussen skrev:
> <table border="1" width="35%" id="table1">
> <tr>
> <td width="210"><b>Navn:</b></td>
> <td><b>Årgang:</b></td>
> </tr>
> <%
Indsæt her:
If rs.EOF Then
Response.write "<tr><td colspan=""2"">Ingen poster</td></tr>"
End If
> Do
Ret denne til:
Do While Not rs.EOF
> Loop While Not rs.EOF
- og tilsvarende skal ovenstående så rettes til:
Loop
Du får let problemer hvis du ikke har kriteriet øverst (ved Do) - for så
bliver løkken også kørt selv om der ikke er nogen poster i den.
Man kan godt klare sig ved at putte løkken ind i en if-sætning (som du
jo alligevel skal bruge her), men jeg vil til enhver tid anbefale at man
laver løkken så man ikke er afhængig af ekstra tjek - det er lige så
nemt, og så slipper man for ekstra kode hvis man ikke har behov for at
håndtere det tomme postsæt specielt.
NB: Læs venligst < http://html.dk/nyhedsgrupper/usenet.asp>, afsnittet
"Gælder der nogle regler for nyhedsgrupperne?". Det er svært at se hvad
og hvem du svarer når du ikke citerer noget.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jon Rasmussen (07-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 07-02-05 21:03 |
|
> Jens GyldenkærneClausen wrote in dk.edb.internet.webdesign.serverside.asp
Tak skal du have, det virkede. Jeg kan egentligt godt se hvad jeg gjorde
forkert og sådan, så det er jo dejligt.
> NB: Læs venligst < http://html.dk/nyhedsgrupper/usenet.asp>, afsnittet
> "Gælder der nogle regler for nyhedsgrupperne?". Det er svært at se hvad
> og hvem du svarer når du ikke citerer noget.
Ja, jeg er ked af jeg stinker til alt det der quoting. Håber det går...
Jeg tænkte på en ting, kan du fortælle mig hvorfor min localhost (IIS)
somme tider går helt amok og slet ikke vil finde min database og siger
fejl, selvom denne ikke er åben og ligger korrekt. Uden at ændre nogen ting
overhovedet begynder den at virke igen...? Virkeligt irriterende!
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (07-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 07-02-05 22:24 |
|
Jon Rasmussen skrev:
> Ja, jeg er ked af jeg stinker til alt det der quoting. Håber
> det går...
Det er fint nu.
> Jeg tænkte på en ting, kan du fortælle mig hvorfor min
> localhost (IIS) somme tider går helt amok og slet ikke vil
> finde min database og siger fejl, selvom denne ikke er åben og
> ligger korrekt.
Det er svært at sige noget om uden at kende den præcise
fejlmeddelelse. Men en ting der kan give problemer er hvis du har
databasen åbnet i Access samtidig med at du arbejder med asp-
siderne over localhost.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jon Rasmussen (08-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 08-02-05 07:34 |
|
Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Det er fint nu.
Tak!
> Det er svært at sige noget om uden at kende den præcise
> fejlmeddelelse.
Det er den normale "database ikke fundet ting", altså præcis som
databasen er åben, men det er den ikke...
> Men en ting der kan give problemer er hvis du har
> databasen åbnet i Access samtidig med at du arbejder med asp-
> siderne over localhost.
Det er jeg godt klar over, men det er ikke skylden i mit problem!
Jeg har tilgengæld fået et nyt problem. Jeg skal bruge en funktion
der kan gå ind og finde en tid der passer på tre kriterier (nummer =
1), (simsettnr=11) og (IDnummer2=strID), og den skal så komme med
den tid der passer til i kolonnen "tid". Hvis ikke den kan finde en
sådan skal den komme ud med " ".
Min ide var nedenforstående, men det virker ikke, den finder
ingenting.
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/grodandb.mdb")
Conn.Open DSN
strHold = Request.Querystring("hold")
strID = Request.Querystring("id")
strNavn = Request.Querystring("navn")
strBorn = Request.Querystring("year")
Response.Write "<h3>" & strNavn & "</h3>"
Response.Write "<h4>Årgang: " & strBorn & "</h4>"
' Henter fra database afhængig af værdierne fra URL
strSQL = "SELECT Tider.IDnummer2, Tider.tid, Tider.nummer,
Tider.simsettnr FROM Tider WHERE (((Tider.IDnummer2)=" & strID & ")
AND ((Tider.nummer)=1));"
Set rs = Conn.Execute(strSQL)
Do
if simsettnr=11 Then Response.Write rs("tid") Else Response.Write "
" End if
rs.MoveNext
Loop until rs.EOF
Conn.Close
Set Conn = Nothing
%>
Håber du gider hjælpe, igen
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (08-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 08-02-05 12:41 |
|
Jon Rasmussen skrev:
> strSQL = "SELECT Tider.IDnummer2, Tider.tid, Tider.nummer,
> Tider.simsettnr
Hvorfor henter du felterne IDnummer2 og nummer når du ikke skal bruge
dem?
> FROM Tider WHERE (((Tider.IDnummer2)=" & strID & ")
> AND ((Tider.nummer)=1));"
Jeg vil varmt anbefale dig at putte simsettnr ind i where-delen sammen
med de andre kriterier. En database er god til at søge efter kriterier -
langt, langt bedre end asp selv er det. Derfor er det spild af resurser
når du lader asp-koden lede efter simsetnummeret i stedet for at bede
databasen om at finde dem med det samme.
> Do
> if simsettnr=11 Then Response.Write rs("tid")
Her ligger din egentlige fejl. Du har ikke nogen information i variablen
simsettnr - derfor vil din if-sætning aldrig blive sand. Hvis du i
stedet sammenlignede rs("simsettnr") med 11, ville det formentlig virke
- men som anført ovenfor, er det det en dårlig måde at lede efter et
nummer på. Hvis du lader databasen om at tjekke nummeret, vil det gå
langt hurtigere.
Hvis du skal udskrive en tom streng for hver post der ikke har simsettnr
= 11, kan du gøre det med en iif-sætning (imidiate if) til databasen:
"SELECT iif(simsettnr = 11, tid, null) as tid
FROM Tider
WHERE nummer = 1
AND IDnummer2 = " & strID
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jon Rasmussen (08-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 08-02-05 15:42 |
|
> Hvorfor henter du felterne IDnummer2 og nummer når du ikke skal bruge
> dem?
Godt spørgsmål, jeg tænkte bare at jeg skulle jo bruge dem til at finde de
andre værdier, men det skal jeg jo ikke hente dem for, dem har jeg jo fra
forrige side.
> Jeg vil varmt anbefale dig at putte simsettnr ind i where-delen sammen
> med de andre kriterier. En database er god til at søge efter kriterier -
> langt, langt bedre end asp selv er det. Derfor er det spild af resurser
> når du lader asp-koden lede efter simsetnummeret i stedet for at bede
> databasen om at finde dem med det samme.
Hmm... Det tror jeg ikke vil gøre noget nemmere, jeg skal have udskrevet en
liste med 32 forskellige tider fra databasen (Tider.tid) udfra 32
forskellige kriterier i (Tider.simmsettnr)... Eller er jeg helt gal på den?
> > Do
> > if simsettnr=11 Then Response.Write rs("tid")
>
> Her ligger din egentlige fejl. Du har ikke nogen information i variablen
> simsettnr - derfor vil din if-sætning aldrig blive sand. Hvis du i
> stedet sammenlignede rs("simsettnr") med 11, ville det formentlig virke
> - men som anført ovenfor, er det det en dårlig måde at lede efter et
> nummer på. Hvis du lader databasen om at tjekke nummeret, vil det gå
> langt hurtigere.
Ahh... Det det kan jeg da godt se nu du siger det, dumt at jeg ikke selv
havde opdaget det...
> Hvis du skal udskrive en tom streng for hver post der ikke har simsettnr
> = 11, kan du gøre det med en iif-sætning (imidiate if) til databasen:
>
> "SELECT iif(simsettnr = 11, tid, null) as tid
> FROM Tider
> WHERE nummer = 1
> AND IDnummer2 = " & strID
Det har jeg ikke brug for, den kan den den skal kunne nu.
Jeg håber du lige gider svare på de ovenforstående spørgsmål, så tror jeg
nemlig ikke rigtigt jeg har flere problemer
På forhånd tak!
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (08-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 08-02-05 15:51 |
|
Jon Rasmussen skrev:
> Hmm... Det tror jeg ikke vil gøre noget nemmere, jeg skal have udskrevet en
> liste med 32 forskellige tider fra databasen (Tider.tid) udfra 32
> forskellige kriterier i (Tider.simmsettnr)... Eller er jeg helt gal på den?
Hvordan har du tænkt dig at gøre det?
Det du beskrev før var en metode der kun udskrev information hvis
simsettnr var 11. Her ville jeg bare pointere at så er det lettere (og
hurtigere) at bede databasen om at nøjes med at tage de poster hvor
simsettnr er 11.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jon Rasmussen (08-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 08-02-05 16:01 |
|
> Hvordan har du tænkt dig at gøre det?
Jeg ville have brugt:
Do
if rs("simsettnr")=43 Then Response.Write rs("tid") Else Response.Write "" End
if
rs.MoveNext
Loop Until rs.EOF
en masse gange, men det kan jeg af en eller anden grund ikke få lov til uden den
laver fejl ? Hvorfor !? Jeg får en fejl der hedder "(0x80020009)
Undtagelse opstod. "
> Det du beskrev før var en metode der kun udskrev information hvis
> simsettnr var 11. Her ville jeg bare pointere at så er det lettere (og
> hurtigere) at bede databasen om at nøjes med at tage de poster hvor
> simsettnr er 11.
Ja præcis. Det er fordi jeg skal bruge den bestemte tid (som simsettnr bruges
til at bestemme) i en bestemt celle i en tabel. Hvis du vil have et lille
overblik over hvad den skal bruges til, så skal den smide en bestemt tid ind i
hvert af de felter i tabellen på siden "person.asp&....." som du kan komme frem
til ved at vælge et hold og en person, hvis du tager en på en af A6 holdene
kommer du frem til nogle brugbare hold.
http://www.moped.dk/hold.asp
Håber du har en ide til en løsning.
> --
> Jens Gyldenkærne Clausen
> Svar venligst under det du citerer, og citer kun det der er
> nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
> hvordan på http://usenet.dk/netikette/citatteknik.html
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jon Rasmussen (08-02-2005)
| Kommentar Fra : Jon Rasmussen |
Dato : 08-02-05 21:22 |
|
Okay jeg fandt en løsning. Det var jo ikke andet end en Case sætning og en masse
henvisninger tilbage til denne...
Jeg takker meget for hjælpen til jer begge to! Det er godt der er nogen der gider
hjælpe os nybegyndere!
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|