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)
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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") & "')"')"
26. januar 2002 - 15:47
#2
Ups du skal lige fjerne de 3 sidste tegn: ')"
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
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
26. januar 2002 - 16:12
#5
Det er måske fordi Date er et beskyttet ord, kald det noget andet. /Goose
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
26. januar 2002 - 16:34
#7
Jeg har lige testet det og det virker. !
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
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
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
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-ååå?
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.
Kurser inden for grundlæggende programmering