Avatar billede rickie Juniormester
04. juni 2008 - 15:31 Der er 16 kommentarer og
1 løsning

Insert into - fejl i dato

Hej,

Får følgende fejlmeddelelse:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/kpin/index.asp, line 122

----

Jeg ved at det er noget med datoformat. Jeg henter dato fra en form:
<input type="text" name="Date" size="12" value="<%=(DateChoice)%>" disabled>

...og sætter den in med:
SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES(" & Request.Form("Date") & ")"
...har prøvet
SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES('" & Request.Form("Date") & "')"
...men ligemeget hjælper det.

Jeg tror at den forsøger at sætte det ind som en tekststring i DB men jeg ved ikke hvordan jeg fikser det.

Bruger jeg istedet:
SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES(" & (Date) & ")"
...så virker det fint men det er ikke dagens dato jeg skal bruge.

Håber nogen har tid at kigge på det :-)
Avatar billede mini-me Nybegynder
04. juni 2008 - 15:35 #1
Hej,

i asp har du mulighed for at gøre sådan her

set rs = server.Create("ADODB.recordset")
strSQL = "select * from tblKPI"

rs.addnew

rs("kpiDate") = request.form("date")

rs.update
Avatar billede w13 Novice
04. juni 2008 - 15:36 #2
Du ka' jo prøve:

SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES(#" & Request.Form("Date") & "#)"

# omkring gør til dato.
Avatar billede fennec Nybegynder
04. juni 2008 - 15:36 #3
Datoer skal ind i access som #mm-dd-yyyy#. Bemærk at dag og måned er byttet om. Derfor skal du have formateret dine datoer til SQL formatet. Det gøres med en funktion:

function DBDate(fDate)
  DBDate = "#"& month(fDate) &"-"& day(fDate) &"-"& year(fDate) &"#"
end function

SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES(" & DBDate(Request.Form("Date")) & ")"
Avatar billede mini-me Nybegynder
04. juni 2008 - 15:37 #4
Kan se det er en access database prøv:

response.write "dateoen jeg sætter ind er:" & request.form("date")

SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES(cdate(" & Request.Form("Date") & "))"
Avatar billede rickie Juniormester
04. juni 2008 - 18:44 #5
Tak allesammen for jeres hurtige svar :-)

w13 - det virkser desværre ikke. Den kommer stadig med den samme fejl.
mini-me - det virker heller ikke.
fennec - umiddelbart ser det ud til at skrive noget til db men det bliver med værdi "00:00:00"

:-)
Avatar billede fennec Nybegynder
05. juni 2008 - 08:41 #6
Altså den rigtige dato, men med klokkeslettet også (som er 00:00:00)??
Avatar billede fennec Nybegynder
05. juni 2008 - 08:41 #7
.. Dvs du får indsat noget ala "05-06-2008 00:00:00"
Avatar billede rickie Juniormester
05. juni 2008 - 10:10 #8
Nej, jeg får kun insat "00:00:00" - intet dato.
Avatar billede fennec Nybegynder
05. juni 2008 - 10:41 #9
Så tror jeg det er fordi du ikke modtager nogen værdi i Request.Form("Date")

Prøv lige at udskrive den samlede SQL inden du affyre den:
SQL1 = "INSERT INTO tblKPI (kpiDate) VALUES(" & DBDate(Request.Form("Date")) & ")"
response.write "SQL: "& SQL1
response.end
Avatar billede rickie Juniormester
05. juni 2008 - 11:13 #10
Hej igen,

Den skriver følgende:
SQL: INSERT INTO tblKPI (kpiDate) VALUES(#30-12-1899#)
Avatar billede rickie Juniormester
05. juni 2008 - 11:14 #11
DBDate = "#"& day(fDate) &"-"& month(fDate) &"-"& year(fDate) &"#"

Prøvet din variant også
DBDate = "#"& month(fDate) &"-"& day(fDate) &"-"& year(fDate) &"#"
Avatar billede fennec Nybegynder
05. juni 2008 - 13:13 #12
Det skal være som mm-dd-yyyy. Og da værdien står fint på SQL'en kan jeg ikke se hvorfor den ikke virker. Hvilken datatype er kpiDate i databasen??
Avatar billede rickie Juniormester
09. juni 2008 - 10:23 #13
Hej igen,

Står det virkelig rigtigt for den skriver ud 30-12-1899, og det er jo ikke den dato som skal skrives.
Datatypen er date/time.
Avatar billede rickie Juniormester
09. juni 2008 - 10:46 #14
Hej,

Jeg har fået det til at virke. Istedet for at requeste formen date så skriftede jeg navn til datechoice.

Tusind tak for hjælpen :-)
Avatar billede rickie Juniormester
09. juni 2008 - 10:46 #15
Svar lige for points :)
Avatar billede fennec Nybegynder
09. juni 2008 - 11:25 #16
.o) <-- One Eyed Jack
Avatar billede rickie Juniormester
09. juni 2008 - 12:30 #17
He he! :-)
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