Avatar billede compilos Nybegynder
15. november 2007 - 10:32 Der er 9 kommentarer og
1 løsning

Test om felt fra DB eksistere

Hej
Hvis jeg nu prøver at skrive et felt ud som IKKE eksister i DB, får jeg en fejl. - Det er selvfølgelig OK.
Men hvordan kan jeg teste på om det eksistere.!

f.eks.:
<% =rs("field") %>
Men hvordan kan jeg teste om mit udtræk ikke indeholder dette felt!

/Compilos
Avatar billede fennec Nybegynder
15. november 2007 - 10:38 #1
Du kan altid slå fejl håndtering til:
on error resume next '<-- Start fejl håndtering
response.write rs("field")
on error goto 0 '<-- Reset fejlhåndtering til default
Avatar billede fennec Nybegynder
15. november 2007 - 10:39 #2
Du kan så bruge err objektet til at tjekke for fejl:

on error resume next '<-- Start fejl håndtering
response.write rs("field")
if err.number <> o then
  response.write "Der skete en fejl<br>"& err.description
end if
on error goto 0 '<-- Reset fejlhåndtering til default
Avatar billede fennec Nybegynder
15. november 2007 - 10:39 #3
Fil trykket på o i stedet for 0

if err.number <> 0 then
Avatar billede compilos Nybegynder
15. november 2007 - 10:45 #4
Hej fennec,
                <tr>
                    <td style="width: 70px">Type:
                    </td>
                    <td colspan="2"><% =rs("Type") %>
                    </td>
                </tr>
                <tr>
                    <td style="width: 70px">Pris:
                    </td>
                    <td colspan="2"><% =rs("Pris") %>
                    </td>
                </tr>

La´ os antage at =rs("Type") ikke eksistere, - men aligelvel godt skrive =rs("Pris")
Det tror jeg ikke det ovenstående tar´ højde for.!

On Error Resume Next,- tar´ vel den næste Record!
Avatar billede fennec Nybegynder
15. november 2007 - 10:49 #5
Nej. On Error "opsamler" bare alle fejl, så ASP'en ikke stopper.

Jeg ville lave dit eks på denne måde:

<%
on error resume next
test = rs("Type")
if err.number = 0 then
  'Hvis ingen fejl så udskriv %>
<tr>
    <td style="width: 70px">Type:</td>
    <td colspan="2"><% =rs("Type") %></td>
</tr>
<%
else
  'Hvis fejl så nulstil err objektet
  err.clear
end if
on error goto 0
%>
Avatar billede fennec Nybegynder
15. november 2007 - 10:51 #6
Hvis feltet ikke eksistere fejler test = rs("Type") linjen.
Derefter tjekker jeg err objektet for om det har opsamlet en fejl.
Hvis ikke så udskrives.
Avatar billede fennec Nybegynder
15. november 2007 - 10:58 #7
Og som en ekstra information, så anbefales det at lade være med at lave linjeskift før </td>. Der er nemlig en fejl i IE's fortolker, som skaber et ekstra mellemrum. Normalt ser man det ikke med tekst, men med billeder kan det ses.

<table border="1">
<tr>
    <td><img src="http://www.eksperten.dk/img/elogo.png"></td>
</tr>
<tr>
    <td>
        <img src="http://www.eksperten.dk/img/elogo.png">
    </td>
</tr>
<tr>
    <td>
        <img src="http://www.eksperten.dk/img/elogo.png"></td>
</tr>
</table>

Tjek billeded i mitten. Der er et ekstra mellemrum under billeded pga fejlen i IE. I FF er der ingen problemer.
Avatar billede compilos Nybegynder
15. november 2007 - 10:58 #8
Det er SUPER nydeligt.!

Lig et svar og tak for hjælpen.!

/C
Avatar billede fennec Nybegynder
15. november 2007 - 11:11 #9
.o) <-- One Eyed Jack
Avatar billede compilos Nybegynder
15. november 2007 - 11:13 #10
:-)
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