Avatar billede beorn Nybegynder
18. december 2003 - 11:23 Der er 2 kommentarer og
1 løsning

ASP & access. sikkert en newbie fejl

hejsa

for "mange" år siden lavede jeg et tilmeldings ting til asp med MYsql. og har siden glemt alt hvad jeg lærte dengang :-)

en af mine venner ville godt have rettet den til, men hans side kan kun bruge access. no problem tænkte jeg og startede. men nedenstående virker ikke selvom jeg mener at det burde. men det er sikkert en eller andet ' eller " som står forkert.

databasen befinder sig på det rigtige sted og der til at skrive i.

så på forhånd tak.


<%
  gem = Request.Form("gem")
%>

<% if gem <> "True" then %>

<html>
<title>Indsætte data i databasen</title>
<head>
</head>
<body>

<center><h2>Julefrokost</h2></center>
<center><h3>Tilmelding</h3></center>

Udfyld venligst nedenstående felter
<form method="post" action="tilmeld.asp">
<table>
  <tr><td>*Navn: </td><td><input type="text" name="navn"></td></tr>
  <tr><td>*Adresse: </td><td><input type="text" name="adr"></td></tr> 
  <tr><td>*Postnr: </td><td><input type="text" name="post"></td></tr>
  <tr><td>*by: </td><td><input type="text" name="by"></td></tr>
  <tr><td>*telefon</td><td><input type="text" name="tlf"></td></tr>
  <tr><td>E-mail </td><td><input type="text" name="email"></td></tr>
  <tr><td>*Alder (kun tal): </td><td><input type="text" name="alder" ></td></tr>
  <tr><td></td><td><input type="hidden" name="gem" value="True"></td></tr>
  <tr><td></td><td><input type="submit" value="Gem oplysninger"></td></tr>
</table>
</form>

<% end if %>


<% if gem = "True" then %>

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/db.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Insert into personer ("

strSQL = strSQL & "navn, "
strSQL = strSQL & "adresse, "
strSQL = strSQL & "postnr, "
strSQL = strSQL & "by, "
strSQL = strSQL & "telefon, "
strSQL = strSQL & "mail, "
strSQL = strSQL & "alder) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'"&navn&"',"
strSQL = strSQL & "'"&adr&"',"
strSQL = strSQL & "'"&post&"',"
strSQL = strSQL & "'"&by&"',"
strSQL = strSQL & "'"&tlf&"',"
strSQL = strSQL & "'"&email&"',"
strSQL = strSQL & "'"&alder&"')"

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

Response.Redirect("4.html")

end if
%>
</body>
</html>
Avatar billede eagleeye Praktikant
18. december 2003 - 11:28 #1
by er reserveret ord i SQL så det skal du havde [] omkring og du skal havde Request.Form omkring hvor du hendter form data.. navn til Request.Form("navn"):


strSQL = "Insert into personer ("

strSQL = strSQL & "navn, "
strSQL = strSQL & "adresse, "
strSQL = strSQL & "postnr, "
strSQL = strSQL & "[by], "
strSQL = strSQL & "telefon, "
strSQL = strSQL & "mail, "
strSQL = strSQL & "alder) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'"&Request.Form("navn")&"',"
strSQL = strSQL & "'"&Request.Form("adr")&"',"
strSQL = strSQL & "'"&Request.Form("post")&"',"
strSQL = strSQL & "'"&Request.Form("by")&"',"
strSQL = strSQL & "'"&Request.Form("tlf")&"',"
strSQL = strSQL & "'"&Request.Form("email")&"',"
strSQL = strSQL & "'"&Request.Form("alder")&"')"

Er der en kolonne som er tal skald er med access ikke ping ' omkring.
Avatar billede eagleeye Praktikant
18. december 2003 - 11:29 #2
Eks hvis alder er en tal kolonne skal VALUES delen være:


strSQL = strSQL & "'"&Request.Form("navn")&"',"
strSQL = strSQL & "'"&Request.Form("adr")&"',"
strSQL = strSQL & "'"&Request.Form("post")&"',"
strSQL = strSQL & "'"&Request.Form("by")&"',"
strSQL = strSQL & "'"&Request.Form("tlf")&"',"
strSQL = strSQL & "'"&Request.Form("email")&"',"
strSQL = strSQL & ""&Request.Form("alder")&")"
Avatar billede beorn Nybegynder
18. december 2003 - 14:39 #3
åhh for hulen da.. ja som sagt det var en noobie fejl. det skulle jeg have set selv det der :-D tak for hjælpen.
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