Avatar billede nettet Nybegynder
22. november 2000 - 10:22 Der er 5 kommentarer og
1 løsning

Response.write og if

Jeg får nedenstående fejl, når jeg sætter If then ind i mit script før mine response.write sætninger.
Jeg anvender disse IF then sætninger til at springe en response.write over, hvis feltet der skal udskrives alligevel er tomt i accessdb´en, hvor scriptet udtrækker data fra.
hvad gør jeg galt?

Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a000d\'

Typerne passer ikke sammen: \'[string: \"Formål:<br>1904,1953\"]\'

/fuldpost.asp, linje 57


Mine script ser således ud:


<%

strID = Request(\"ID\")
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM af WHERE ID=\" & strID & \";\"

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"test.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then


Response.Write \"<tr><th><b><font size=3><p></p><p>A.:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"af\") & \"</b></font><br><br>\"

Response.Write \"<tr><th><b>Arbet:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"arbet\") & \"</font><br><br>\"

If rs(\"fodt\") > 0 then
Response.Write \"<tr><th><b>Stiftet:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"fodt\") & \"</font><br><br>\"
end if

If rs(\"dod\") > 0 then
Response.Write \"<tr><th><b>Nedlagt/død:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"dod\") & \"</font></b><br><br>\"
end if

Response.Write \"<tr><th><b>Sted:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"Sted\") & \"</font></b><br><br>\"

Response.Write \"<tr><th><b>Pakket:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"pakket\") & \"</font></b><br><br>\"

Response.Write \"<tr><th><b>Indh:  </b></th></tr>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"indsig\") & \"</font></b><br><br>\"

If rs(\"bem\") > 0 then
Response.Write \"<tr><th><b>Bemærkninger:  </b></th></tr><br>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"bem\") & \"</font></b><br><br>\"
end if

Response.Write \"<tr><th><b>Indhold:  </b></th></tr><br>\"
if rs(\"indhold\") <> \"\" then
Response.Write \"<font color=#FFFFFF><b>\" & Replace(rs(\"Indhold\"), vbCrLf, \"<br>\") & \"</font><br>\"
end if

End If
rs.Close
Set rs = Nothing
%>


Avatar billede tdaugaard Nybegynder
22. november 2000 - 10:25 #1
Der er altså kun 51 linier i det script der ..
Avatar billede hornshoj Nybegynder
22. november 2000 - 10:27 #2
Mange gange er det fordi der fejl i den parameterliste du giver med i din Querystring eller i den form du sender med.
F.eks: &parameter1=1parameter1=2
Request.QueryString(\"parameter1\") vil give resultatet 1,2
Avatar billede hornshoj Nybegynder
22. november 2000 - 10:27 #3
Ha, der lavede jeg også en fejl:
&parameter1=1&parameter1=2



Avatar billede hornshoj Nybegynder
22. november 2000 - 10:28 #4
Prøv at se på din action i dit form tag eller se på de hidden input felter du har.
Avatar billede tulle Nybegynder
22. november 2000 - 10:29 #5
Kan du ikke udpeje mere nøjagtigt hvor fejlen opstår i din kode. Det er lidt trælst at skulle gennemgå hele koden minutiøst.
Avatar billede spacey Nybegynder
22. november 2000 - 10:39 #6
Er RS(\"fodt\"), RS(\"dod\") og RS(\"bem\") talfelter?
Det lader til at fejlen kommer fordi en eller flere af dem er tekstfelter, også kan du ikke tjekke om de er større end et nummerisk 0.

Prøv istedet med

if len(RS(\"dod\")) > 0 then, og det samme på RS(\"fodt\"), og RS(\"bem\").


//Jens
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

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