neon wrote in dk.edb.internet.webdesign.serverside.asp:
> Nu har jeg læst tutorial'en med .asp igennem, og nu ville jeg
> prøve at skrive et script hvor man ved hjælp af nogle forms kunne
> updatere sin database.
- Hvilket tutorial? HTML.dk's?! Denne nyhedsgruppe (og de andre, der
er tilgængelige fra html.dk) er IKKE html.dk's! Desværre er der
mange der misforstår dette! De er en del af usenet.
> Den melder ikke fejl, men den vil til gengæld heller ikke
> updatere, som jeg tror er pga. en del manglende koder.
Hvis den ikke melder fejl, så prøv at checke om din browser kan vise
fejl. I menuen Funktioner vælger du elementet
"Internetindstillinger..." og vælger fanebladet "Avanceret". Rul ned
til elementet "Vis meddelelser om uskadelige HTTP-fejl". Fjern
markeringen i denne's boks og luk vinduet. Opdater nu siden og se,
om der ikke skulle komme en fejlmeddelelse.
> I må ikke spørge mig hvorfor jeg har skrevet det sådan, for jeg
> ved det faktisk ikke selv
- Ja så kan det jo godt være et problem at hjælpe...
> <textarea name="nyhed" wrap="virtual"><% Response.Write q("text")
%></ textarea>
- Dette felt skal hedde "text", hvis det skal gemmes i databasen!
Og et tip:
Hvis du skal skrive "<% Response.Write xyz %>" så brug istedet
dette: <%= xyz %> - meget kortere og giver samme resultat!
> <%
>
> z = Request.Form("z")
>
> strSQL = "Update index Set dato='" & dato & "', text='" & text &
> "', link= '" & link & "' Where ID=" & z
>
> Conn.Close
> Set Conn = Nothing
> %>
- Her sker faktisk ikke særlig meget - du skriver en tekststreng, og
lukker forbindelsen til databasen (som du åbnede i første omgang da
du hentede variablen "z"). Det er derfor der ingen fejlmeddelelse
kommer. Du mangler en Execute()-kommando før der kommer noget
resultat.
Er alle tre dele på samme side (adm2.asp)?!
I såfald skal du lave en If-sætning, der tester om du opdaterer
eller skal til det.
Eks.:
<% If Request.Form("mode") = "opdater" Then
[connection åbn]
[update-del]
[connection luk]
Else
%>
[connection åbn]
[tildel variabler værdier]
[connection luk]
<form method="post">
<input type="hidden" name="mode" value="opdater">
[...]
<input type="submit">
</form>
<%
End If
%>
For ikke at optage for meget "plads" på serveren når du har en
forbindelse åben, skal du lukke den så hurtigt som muligt.
Derfor anbefaler jeg, at du tildeler nogle variabler værdierne og
derefter tilføjer til html-koden.
Eks.:
[åbn]
strNavn = q("navn")
[luk]
Response.Write "Navn: " & strNavn
Håber du kommer lidt videre....
MVH Jonas (aka Juke)
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials