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.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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")
16. september 2003 - 06:30
#2
By er et reserveret ord, men du kan strSQL = strSQL & "[By], "
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.
16. september 2003 - 14:44
#4
nielle, der sker da nada ved at skrive Response.Write(strSQL & "<br>")
16. september 2003 - 15:08
#5
sorry det gør der jo, men det fjerner ik lige fejlen...og stoneys virker ikke
16. september 2003 - 15:10
#6
og jeg får nøjagtig ud det der skal ud
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.
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
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')
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.
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.
16. september 2003 - 16:54
#12
jeg har defineret alder som tal i databasen, og resten som tekst
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
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
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...
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.
16. september 2003 - 17:54
#17
nielle -> det var ligeså meget erikjacobsens...
16. september 2003 - 17:56
#18
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". ;^)
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
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..
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...
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..!
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..
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...
16. september 2003 - 22:54
#26
okay jeg prøver lige så
16. september 2003 - 22:55
#27
pøj pøj med det... Vend tilbage hvis det ikke virker..
16. september 2003 - 23:03
#28
vender lige tilbage og kan hermed meddele at det ikke virker...det er yderst underligt
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...
16. september 2003 - 23:17
#30
hermed sendt
Kurser inden for grundlæggende programmering