Avatar billede jerving Nybegynder
26. januar 2002 - 15:42 Der er 11 kommentarer og
1 løsning

form input sql

Hmmm, jeg er ny i APS! Jeg har lavet en form med 4 felter. Den benytter fx. jan.asp til at sætte indtastede oplysninger ind i en database.

Problemet er, at det kun er det sidste af de udfyldte felter der bliver sat ind.

Er der nogen der kan fortæle mig hvad jeg gør galt?

jan.asp:

strSQL = "Insert into Jan (Day) values('" & Request.Form("day") & "')"
strSQL = "Insert into Jan (Date) values('" & Request.Form("date") & "')"
strSQL = "Insert into Jan (Event) values('" & Request.Form("event") & "')"
strSQL = "Insert into Jan (Comment) values('" & Request.Form("comment") & "')"

Conn.Execute(strSQL)
Avatar billede erikjacobsen Ekspert
26. januar 2002 - 15:46 #1
Du skal lave en
strSQL = "Insert into Jan (Day,Date,Event,Comment) values('" & Request.Form("day") & "','" & Request.Form("date") & "','" & Request.Form("event") & "','" & Request.Form("comment") & "')"')"
Avatar billede erikjacobsen Ekspert
26. januar 2002 - 15:47 #2
Ups du skal lige fjerne de 3 sidste tegn:  ')"
Avatar billede coltau Juniormester
26. januar 2002 - 15:48 #3
strSQL = "INSERT INTO Jan (Day, Date, Event, Comment) VALUES ("
strSQL = strSQL & "'" & Request.Form("Day") & "', "
strSQL = strSQL & "#" & Request.Form("Date") & "#, "
strSQL = strSQL & "'" & Request.Form("Event") & "', "
strSQL = strSQL & "'" & Request.Form("Comment") & "');"
Conn.Execute strSQL

Husk # omkring datofelter
Avatar billede jerving Nybegynder
26. januar 2002 - 16:10 #4
Tak for den hurtige reaktion,

Nu har jeg fordøgt med begge men får nu en syntaksfejl istedet:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/test/admin/jan.asp, line 14
Avatar billede goose Nybegynder
26. januar 2002 - 16:12 #5
Det er måske fordi Date er et beskyttet ord, kald det noget andet.

/Goose
Avatar billede coltau Juniormester
26. januar 2002 - 16:32 #6
Ja du må ikke anvende reserverede or som feltnavne . men du kan prøve at angive tabelnavnet også:

strSQL = "INSERT INTO Jan (Day, Jan.Date, Event, Comment) VALUES ("
strSQL = strSQL & "'" & Request.Form("Day") & "', "
strSQL = strSQL & "#" & Request.Form("Date") & "#, "
strSQL = strSQL & "'" & Request.Form("Event") & "', "
strSQL = strSQL & "'" & Request.Form("Comment") & "');"
Conn.Execute strSQL
Avatar billede coltau Juniormester
26. januar 2002 - 16:34 #7
Jeg har lige testet det og det virker. !
Avatar billede jerving Nybegynder
26. januar 2002 - 16:49 #8
Hmm, fatter det ikke - du siger at det funger hos dig? Jeg får stadig denne syntax fejlmeddelelse:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '##'.

/test/admin/jan.asp, line 15
Avatar billede coltau Juniormester
26. januar 2002 - 16:52 #9
Jeg troede at feltet: date var en dato-type men skift #-tegnen med '-tegn. Sådan:
strSQL = "INSERT INTO Jan (Day, Jan.Date, Event, Comment) VALUES ("
strSQL = strSQL & "'" & Request.Form("Day") & "', "
strSQL = strSQL & "'" & Request.Form("Date") & "', "
strSQL = strSQL & "'" & Request.Form("Event") & "', "
strSQL = strSQL & "'" & Request.Form("Comment") & "');"
Conn.Execute strSQL
Avatar billede goose Nybegynder
26. januar 2002 - 16:53 #10
Det som coltau skriver betyder, at det felt i databasen du kalder date skal være af typen dato og klokkeslet, det er dit garanteret ikke, vel ?

/Goose
Avatar billede jerving Nybegynder
26. januar 2002 - 16:58 #11
Nej, det er det ikke, men kræver man da ikke af brugeren at de skriver datoer på en bestemt måde, eks:dd/mm/åå/ eller dd-mm-åå eller dd/mm-ååå?
Avatar billede snuseren.dk Nybegynder
26. januar 2002 - 17:26 #12
Du kan også indsætte på en lidt nemmere måde:

<%
rs.AddNew()
rs("felt1") = Request.form("navn")
rs("felt2") = Request.form("navn2")
rs.Update
%>

Eller også er det sådan der:

<%
rs.AddNew()
rs("felt1") = Request.form("navn")
rs("felt2") = Request.form("navn2")
rs.Update()
%>

Ka' ikke lige huske det.
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