22. juli 2002 - 02:05Der er
26 kommentarer og 1 løsning
fejl ved indsæt i db - newbie
Hej! jeg får følgende fejl: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel. /ellesgaard/admin/senddata.asp, line 20
når jeg prøver følgende: for t = 0 to Request.Form("taelleren") - 1 strSQL = "Insert into galleri (sti) values('" & Request.Form("sti" & t) & "')" strSQL = "Insert into galleri (navn) values('" & Request.Form("navn" & t) & "')" strSQL = "Insert into galleri (kategori) values('" & Request.Form("kategori" & t) & "')" strSQL = "Insert into galleri (beskrivelse) values('" & Request.Form("beskrivelse" & t) & "')" strSQL = "Insert into galleri (oprettet) values('Now')" Conn.Execute(strSQL)
ok Rune! jeg kan godt se hvor du vil hen, men sagen er at jeg jo er newbie, og jeg vil gerne have det lidt mere overskueligt, kan man ikke gøre det? For jeg har lidt svært ved at gennemskue det der
Problemet med denne fejl er typisk at du ikke har skriveadgang til .mdb filen. Jeg har ikke kigget dit statement igennem, for hvis det var fejlen, ville du have fået en syntax error i stedet.
jeg har ændret koden til den fra Rune, og får nu følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Antallet af forespørgselsværdier og destinationsfelter er ikke det samme. /ellesgaard/admin/senddata.asp, line 21
Rune -->> så er vi bare tilbage ved den samme fejl igen: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel. /ellesgaard/admin/senddata.asp, line 22
Du kan tildele rettigheder i både IIS admin og i filsystemet. For sidstnævnte, højre-klik på folderen i din Explorer/stifinder og vælg properties/egenskaber. Her kan du tildele rettigheder.
Hvis du har NT/2000 skal du give IUSR_MASHINENAME / Internet Guest Account skriverettigheder til den folder som database filen ligger i. Det gøres ved at stå på den folder som filen ligger i i exploren og højre klik, vælg Sharing vælg Security vælg IUSR_MASHINENAME / Internet Guest Account i bokesen og sæt skyds i Allow kolonnen ved Write.
Når du skriver din(e) SQL på denne måde: når jeg prøver følgende: for t = 0 to Request.Form("taelleren") - 1 strSQL = "Insert into galleri (sti) values('" & Request.Form("sti" & t) & "')" strSQL = "Insert into galleri (navn) values('" & Request.Form("navn" & t) & "')" strSQL = "Insert into galleri (kategori) values('" & Request.Form("kategori" & t) & "')" strSQL = "Insert into galleri (beskrivelse) values('" & Request.Form("beskrivelse" & t) & "')" strSQL = "Insert into galleri (oprettet) values('Now')" Conn.Execute(strSQL)
Det giver 5 nye records med kun en kolonne udfyldt i hver. Første record indeholder noget i sti, næste record indeholder noget i navn, næste noget i kategori også vidre.
Du skal havde alle de kolonne med i samme INSERT INTO som høger sammen:
Hvad er status lige nu. Har du fået givet rettigheder og ændret dit statement ?
eagleeye >> det vil faktisk kun give én record, da kun det sidste statement vil blive udført :-) Denne vil så sandsynligvis forbryde sig mod constraints på tabellen.
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.