Avatar billede willi Nybegynder
18. september 2003 - 12:02 Der er 14 kommentarer og
1 løsning

Syntaxfejl i INSERT INTO sætning

Hej
Jeg har en kode som volder problemer.
Den er skrevet til sql - står der - men skulle kunne anvendes med access som jeg bruger.

if isdate(Request.Form("Time")) then
        conn.Execute "INSERT INTO I1OnlineCalendarEvents (EventDate, " _
        & "EventTime, EventName, EventDescription, EmpID) values (" _
        & "'" & Request.Form("CurrentDate") & "', " _
        & "'" & Request.Form("Time") & "', " _
        & "'" & Request.Form("Event") & "', " _
        & "'" & Request.Form("Description") & "', " _
        & "" & Request.Form("EmpID") & ")"
    end if   

Fejlmeddelelsen er:

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen.

Det er i linie 20 fejlen opstår:

linie 20>        conn.Execute "INSERT INTO I1OnlineCalendarEvents (EventDate, " _
        & "Eve.......

Anvendes INSERT INTO ikke i access?
Eller nogen som herudaf kan se problemet?
Avatar billede cpufan Juniormester
18. september 2003 - 12:07 #1
det er højest sandsynligt din conn.Execute

hvad hedder din kommando der opretter forbindelse til databasen?
Avatar billede willi Nybegynder
18. september 2003 - 12:45 #2
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("DB.mdb")
Conn.Open DSN
Avatar billede cpufan Juniormester
18. september 2003 - 13:57 #3
.... og din database hedder "DB"
og ligger i samme mappe som din asp-fil.???
Avatar billede willi Nybegynder
18. september 2003 - 14:02 #4
Ja. I DB er der så to tabeller:
I1OnlineCalendarEmps og I1OnlineCalendarEvents.
Avatar billede cpufan Juniormester
18. september 2003 - 14:08 #5
har du en kolonne der hedder:

" _& "EventTime
Avatar billede willi Nybegynder
18. september 2003 - 14:10 #6
Yep. altså vel blot EventTime
Avatar billede cpufan Juniormester
18. september 2003 - 14:15 #7
naaaa

prøv at lave din Insert linie i een linie, altså uden disse mærkelige breaks.
Avatar billede eagleeye Praktikant
18. september 2003 - 15:25 #8
Hvilken data typer er de forskellige kolonner i databasen ??
Avatar billede willi Nybegynder
18. september 2003 - 16:43 #9
>cpufan Hvis du mener én linie fra if isdate(Request.Form("Time")) then til end if ser fejl meddelelsen sådan ud:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0408)
Tegnet er ugyldigt
/Kalender/index.asp, line 18, column 64
Conn.Execute "INSERT INTO I1OnlineCalendarEvents(EventDate, " _ & " EventTime, EventName, EventDescription, EmpID) values (" _ & "'" & Request.Form("CurrentDate") & "', " _ & "'" & Request.Form("Time") & "', " _ & "'" & Request.Form("Event") & "', " _ & "'" & Request.Form("Description") & "', " _ & "" & Request.Form("EmpID") & ")"
Avatar billede willi Nybegynder
18. september 2003 - 16:55 #10
eagleeye>

>I1OnlineCalendarEvents:
EventID, autonumerering, indekseret
EventDate, dato og klokkeslet, standardværdi 0
EventTime, dato og klokkeslet, standardværdi 0
EventName, tekst, oblikatorisk: nej, tillad null mængde: ja
EventDescription, tekst, oblikatorisk: nej, tillad null mængde: ja
EmptID, langt heltal,standardværdi: 0, oblikatorisk: ja

>I1OnlineCalendarEmps
EmpID, autonummerering, indekseret
EmpName, tekst, tekst, oblikatorisk: nej, tillad null mængde: ja
EmpEmailAdress, tekst, oblikatorisk: nej, tillad null mængde: ja
Avatar billede eagleeye Praktikant
18. september 2003 - 18:51 #11
Og det var Access database?
Så skal du bruger # omkring de kolonne som er dato / klokkeslet.
Samt datoen skal være i formatet yyyy-mm-dd eller mm-dd-yyyy eller kan de bytte rundt på månede og dag hvis du bruger DK dato format.
Avatar billede eagleeye Praktikant
19. september 2003 - 12:37 #12
Prøv sådan her, ud fra de ting du har skrevet og det er en Access DB:


if isdate(Request.Form("Time")) then
        conn.Execute "INSERT INTO I1OnlineCalendarEvents (EventDate, " _
        & "EventTime, EventName, EventDescription, EmpID) values (" _
        & "#" & Request.Form("CurrentDate") & "#, " _
        & "#" & Request.Form("Time") & "#, " _
        & "'" & Request.Form("Event") & "', " _
        & "'" & Request.Form("Description") & "', " _
        & "" & Request.Form("EmpID") & ")"
    end if
Avatar billede willi Nybegynder
19. september 2003 - 12:50 #13
Den kommer så ikke længere med en fejlmeddelelse.
Men jeg overvejer at droppe det.
Det er en online kalender som er skrevet til sql.
Kan du ikke sende et svar?
Avatar billede eagleeye Praktikant
19. september 2003 - 19:22 #14
Ok ;) det kan jeg da.
Avatar billede willi Nybegynder
19. september 2003 - 23:24 #15
Tak for hjælpen.
Jeg tror det er bedre hvis jeg starter fra begyndelsen på det jeg skal lave frem for anvende copy/paste.
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