"Ryan Jeppesen" <paradise@worldonline.dk> skrev i en meddelelse
news:3aa01a8e.29460121@news.image.dk...
> Jeg har et lille problem med at smide noget i en access database, jeg
> har haft det til at virke, men så begynte jeg at pille og yupti, så
> kan jeg ikke få det til at virke igen :(
[KLIP]
> Min kode ser sådan her ud:
>
> <%
> Dim Conn, RS, adOpenStatic,adLockOptimistic
> On Error Resume Next
[KLIP]
Hej Ryan
1) adOpenStatic og adLockOptimistic er konstanter normalt defineret i filen
adovbs.inc (eller vha. META). Hvis du bare dimmer dem vil de have værdien 0,
dette er ikke deres "rigtige" værdi. Find filen adovbs.inc og inkluder den
med ServerSide Includes (SSI)
2) Grunden til at du får din fejl er at du ikke får åbnet din connection
korrekt pga. problemet beskrevet i 1). Dette opdager du dog ikke fordi du
benytter "On Error Resume Next". Slå det fra (fjern det).
"On Error Resume Next" bruges til aktiv fejlhåndtering i projekter hvor
robusthed og god fejlhåndtering har høj prioritet. Man bruger det på steder
i koden hvor man ved at man kan risikere at få en fejl hvis fx et komponent
mangler på serveren el. lig. Det er typisk først noget man slår til EFTER
alt udvikling er lavet når skidtet virker som det skal.
I mindre projekter hvor du ikke flytter fra server til server (eller
loadbalancing i webfarm), hvor du ikke benytter "hjemmelavede" komponenter
og hvor du kører på en access database giver det oftest meget lidt mening at
benytte error handling. Det kan være at skyde over målet men oftest vil det
være udtryk for at man har lavet noget dårligt kode at man er nødt til at
andevende "On Error Resume Next".
Dermed ikke sagt at man aldrig bør bruge det, man skal bare vide 99% hvad
man gør, og overveje 2 gange om det er nødvendigt. Man komplicerer sin kode
unødvendigt og det er ofte udtryk for et forsøg på at skyde en genvej der
ender med at blive en kæmpe omvej.
3) Brug også <% OPTION EXPLICIT %> i starten af din kode, det kan også redde
dig fra en masse fejlfindings kvaler.
MVH
Allan Ebdrup
http://www.ti-fire.dk