Avatar billede acw Nybegynder
16. september 2003 - 01:17 Der er 29 kommentarer og
1 løsning

strsql melder fejl

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
Conn.Open DSN

strSQL = "Insert into personer ("

strSQL = strSQL & "Navn, "
strSQL = strSQL & "Alder, "
strSQL = strSQL & "By, "
strSQL = strSQL & "Nick, "
strSQL = strSQL & "Status, "
strSQL = strSQL & "Kontakt, "
strSQL = strSQL & "Citat, "
strSQL = strSQL & "Favgun, "
strSQL = strSQL & "Favmap, "
strSQL = strSQL & "email) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("Navn") & "',"
strSQL = strSQL & "'" & Request.Form("Alder") & "',"
strSQL = strSQL & "'" & Request.Form("By") & "',"
strSQL = strSQL & "'" & Request.Form("Nick") & "',"
strSQL = strSQL & "'" & Request.Form("Status") & "',"
strSQL = strSQL & "'" & Request.Form("Kontakt") & "',"
strSQL = strSQL & "'" & Request.Form("Citat") & "',"
strSQL = strSQL & "'" & Request.Form("Favgun") & "',"
strSQL = strSQL & "'" & Request.Form("Favmap") & "',"
strSQL = strSQL & "'" & Request.Form("email") & "')"




Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
%>

----

Hvad går galt? Får nemlig fejlen: Der er en syntaksfejl i INSERT INTO-sætningen.
Avatar billede stoney96 Nybegynder
16. september 2003 - 03:50 #1
Jeg gætter på at alder er et nummerisk felt i din db og du har 'plinger' omkring Request.Form("Alder")
Avatar billede erikjacobsen Ekspert
16. september 2003 - 06:30 #2
By er et reserveret ord, men du kan

  strSQL = strSQL & "[By], "
Avatar billede nielle Nybegynder
16. september 2003 - 08:14 #3
Når du får en SQL fejl, så prøv altid at udskrive den som en del af din debugning:

...
strSQL = strSQL & "'" & Request.Form("Favmap") & "',"
strSQL = strSQL & "'" & Request.Form("email") & "')"

Response.Write(strSQL & "<br>")

Conn.Execute(strSQL)

Meget tit skyldes fejlen at SQL sætningen ikke lige så sådan ud som man regnede med.
Avatar billede acw Nybegynder
16. september 2003 - 14:44 #4
nielle, der sker da nada ved at skrive Response.Write(strSQL & "<br>")
Avatar billede acw Nybegynder
16. september 2003 - 15:08 #5
sorry det gør der jo, men det fjerner ik lige fejlen...og stoneys virker ikke
Avatar billede acw Nybegynder
16. september 2003 - 15:10 #6
og jeg får nøjagtig ud det der skal ud
Avatar billede nielle Nybegynder
16. september 2003 - 15:21 #7
Selvfølgelig fjerner det ikke fejlen. Det har jeg heller ikke påstået. Men når du udskriver SQL sætningen så kan man ofte se om der er en fejl i den - som regel ser den anderledes ud end man lige troede.

Prøv at cut'n'paste det uskrevne her til.
Avatar billede acw Nybegynder
16. september 2003 - 15:25 #8
nielle ved godt det ikke fjerner fejlen, fik formuleret det forkert :)

Se med jeres egne øjne:

http://tis.lir.dk/formular.asp
Avatar billede acw Nybegynder
16. september 2003 - 15:29 #9
men eksempelvis:

Insert into personer (Navn, Alder, City, Nick, Status, Kontakt, Citat, Favgun, Favmap, email) values( 'something',150,'københavn','nickname1','CL','try','quote','colt','dust','user@isp.land')
Avatar billede nielle Nybegynder
16. september 2003 - 16:38 #10
Prøv at skrive din SQL i den lidt mere kompakte form:

strSQL = "INSERT INTO Personer " & _
        "VALUES (" & _
        "'" & Request.Form("Navn") & "', " & _
        Request.Form("Alder") & ", " & _
        "'" & Request.Form("By") & "', " & _
        "'" & Request.Form("Nick") & "', " & _
        "'" & Request.Form("Status") & "', " & _
        "'" & Request.Form("Kontakt") & "', " & _
        "'" & Request.Form("Citat") & "', " & _
        "'" & Request.Form("Favgun") & "', " & _
        "'" & Request.Form("Favmap") & "', " & _
        "'" & Request.Form("email") & "')"

- og så giv os lige en cut'n'paste af fejlmeddelelsen.
Avatar billede nielle Nybegynder
16. september 2003 - 16:40 #11
Hvordan har du egentlig defineret de forskellige felttyper i din database? Det at fjerne pingerne omkring Alder har kun en effekt hvis du har defineret Alder som en taltype.
Avatar billede acw Nybegynder
16. september 2003 - 16:54 #12
jeg har defineret alder som tal i databasen, og resten som tekst
Avatar billede acw Nybegynder
16. september 2003 - 16:55 #13
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel.
/insert.asp, line 27
Avatar billede acw Nybegynder
16. september 2003 - 17:13 #14
det skal lige indskydes at det heller ikke virker, hvis jeg blot bruger 1 request:

strSQL = "Insert into personer (Navn) values('" & Request.Form("navn") & "')"


og der er skriveadgang i mappen
Avatar billede ellebaek Nybegynder
16. september 2003 - 17:38 #15
Din fejl: 16/09-2003 16:55:41 betyder at du ikke har skriverettigheder til databasen. Hvis du skal kunne bruge din sql skal IUSR have skriverettigheder i den mappe hvor databasen ligger...
Avatar billede nielle Nybegynder
16. september 2003 - 17:49 #16
Ifølge din fejlbesked så har dit script imidlertid ikke skriverettigheder (som ellebaek så udemærket forklare).

Du startede med at fortælle at fortælle at fejlen vare "Der er en syntaksfejl i INSERT INTO-sætningen." Der er langt fra den fejl til den du har nu og jeg er temm,elig sikker på at det nok var stoney96's rettelse som gjorde udslaget.
Avatar billede ellebaek Nybegynder
16. september 2003 - 17:54 #17
nielle -> det var ligeså meget erikjacobsens...
Avatar billede ellebaek Nybegynder
16. september 2003 - 17:56 #18
Avatar billede nielle Nybegynder
16. september 2003 - 17:56 #19
ellebaek -> Du har nok ret.

Eller jeg kunne citere mit eget forslag 16:38:01 - som jo også fjerner problemet med "By". ;^)
Avatar billede acw Nybegynder
16. september 2003 - 22:26 #20
jeg skulle da mene at jeg har skriveadgang.....check http://tis.lir.dk/skriveadgang.jpg <-- og sådan har den set ud hele tiden

Jeg løste problemet med "by", ved at ændre til city...så egentlig burde jeg ikke have afvist det svar
Avatar billede ellebaek Nybegynder
16. september 2003 - 22:32 #21
prøv at ændre der hvor der står : tilladelse til at køre programmer, til alt, eller noget i den stil...

Ikke kun scripts i hvert fald..
Avatar billede acw Nybegynder
16. september 2003 - 22:45 #22
Nu ved jeg i hvert fald at det er i skriveadgangen den volder problemer...nu har jeg sat den til alt, men lige meget hjælper det...
Avatar billede ellebaek Nybegynder
16. september 2003 - 22:47 #23
hmm...

Virker mærkeligt..!
Prøv at køre "Komprimer og reparer" i funktioner på din database (i access) Kan måske hjælpe dig..!
Avatar billede acw Nybegynder
16. september 2003 - 22:50 #24
hjælper heller ikke....får stadigvæk

"Handlingen skal bruge en opdaterbar forespørgsel."

Sku hilse at sige at det virkede i går på en anden database - på denne computer..
Avatar billede ellebaek Nybegynder
16. september 2003 - 22:52 #25
hmm...

Det lyder mystisk. Det må være databasen der er et problem med. Hvis den ikke er for stor, så prøv at oprette en ny der er magen til, og se om det virker på den...
Avatar billede acw Nybegynder
16. september 2003 - 22:54 #26
okay jeg prøver lige så
Avatar billede ellebaek Nybegynder
16. september 2003 - 22:55 #27
pøj pøj med det...

Vend tilbage hvis det ikke virker..
Avatar billede acw Nybegynder
16. september 2003 - 23:03 #28
vender lige tilbage og kan hermed meddele at det ikke virker...det er yderst underligt
Avatar billede ellebaek Nybegynder
16. september 2003 - 23:04 #29
prøv at sende db'en til min mail: jens@mail.zix.dk
så kan jeg se på det i morgen...
Avatar billede acw Nybegynder
16. september 2003 - 23:17 #30
hermed sendt
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel