Avatar billede Slettet bruger
04. december 2006 - 18:47 Der er 4 kommentarer og
1 løsning

simelt script melder fejl

hejs allesammen .. !

sidder og roder med lidt ASP og er løbet ind i et problem.

jeg har følg. kode:

<html>
<head>
<title>Opret en person</title>
</head>
<body>

<%
'opretter forbindelse til db'en
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tlf.mdb")
Conn.Open DSN

strNavn = Request.Form("navn")
strAddr = Request.Form("addr")
strTlf1 = Request.Form("tlf1")
strTlf2 = Request.Form("tlf2")

strSQL = "Insert into personer (navn, addr, tlf1, tlf2)"
strSQL = strSQL & " Values  ('" & strnavn & "', '" & straddr & "', '" & strtlf1 & "', '" & strtlf2 & "')"
Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
%>

<p>Opret en person!</p>
<form action="opret.asp" method="post"><br>
Navn:<input type="text" name="navn"><br>
Adresse:<input type="text" name="addr"><br>
Mobil nr.:<input type="text" name="tlf1"><br>
Hjem nr.:<input type="text" name="tlf2"><br>
<input type="submit" value="Opret!">
</form>

</body>
</html>

min db ser sådan ud:
id | autonummering
navn | tekst
addr | tekst
tlf1 | tekst
tlf2 | tekst

og får følg. fejl når jeg køre scriptet:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Feltet "personer.navn" kan ikke indeholde en streng af længden nul.
/hp/tlf_bog/opret.asp, line 20


jeg forstår det ikke, hvorfor brokker den siger den at min streng er længden nul

jeg har ikke indtastet noget i mine form's endnu. men den burde jo køre mine form's før at den ryger videre i ASÅ koden eller hva?
Avatar billede helmet Nybegynder
04. december 2006 - 19:46 #1
Når du kører siden vil den forsøge og indsætte en række i personer hver gang, går ud fra siden hedder opret.asp og at du lader siden kalde sig selv igen.
Det kan du løse ved enten af tjekke om der er post data til siden eller ved og sætte en ekstra parameter på i querystrengen så den ved hvornår den skal opdatere og hvornår den ikke skal, når du laver postback til opret.asp.

Eks. på det sidste
<%
if Request.Fomr
'opretter forbindelse til db'en
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tlf.mdb")
Conn.Open DSN

strNavn = Request.Form("navn")
strAddr = Request.Form("addr")
strTlf1 = Request.Form("tlf1")
strTlf2 = Request.Form("tlf2")

strSQL = "Insert into personer (navn, addr, tlf1, tlf2)"
strSQL = strSQL & " Values  ('" & strnavn & "', '" & straddr & "', '" & strtlf1 & "', '" & strtlf2 & "')"
Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
%>
Avatar billede helmet Nybegynder
04. december 2006 - 19:47 #2
Ork, det var lige tidligt nok jeg fik trykket på send :)
<%
if Request.Querystring("Action") = "1" then
'opretter forbindelse til db'en
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tlf.mdb")
Conn.Open DSN

strNavn = Request.Form("navn")
strAddr = Request.Form("addr")
strTlf1 = Request.Form("tlf1")
strTlf2 = Request.Form("tlf2")

strSQL = "Insert into personer (navn, addr, tlf1, tlf2)"
strSQL = strSQL & " Values  ('" & strnavn & "', '" & straddr & "', '" & strtlf1 & "', '" & strtlf2 & "')"
Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
end if
%>
<p>Opret en person!</p>
<form action="opret.asp?Action=1" method="post"><br>
Navn:<input type="text" name="navn"><br>
Adresse:<input type="text" name="addr"><br>
Mobil nr.:<input type="text" name="tlf1"><br>
Hjem nr.:<input type="text" name="tlf2"><br>
<input type="submit" value="Opret!">
</form>

</body>
</html>
Avatar billede Slettet bruger
05. december 2006 - 18:00 #3
der var den sq :) smider du et svar
Avatar billede Slettet bruger
05. december 2006 - 18:00 #4
- og takker for hjælpen ;)
Avatar billede helmet Nybegynder
05. december 2006 - 18:11 #5
Selvfølgelig, et svar
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