26. februar 2001 - 10:46
Der er
7 kommentarer og 2 løsninger
UPDATE DISTINCTROW-fejl
Jeg prøver at modificere et script fra logiweb, så jeg kan lave et adressekartotek til familien på nettet. Den oprindelige linie så sådan ud: SQLstmt = \"UPDATE DISTINCTROW adresse SET id_nr = \" & request.form(\"telefon\") & \", dato = #\" & Now & \"#, navn = \'\" & request.form(\"navn\") & \"\', adresse = \'\" & request.form(\"adresse\") & \"\', postnr = \" & request.form(\"postnr\") & \",city = \'\" & request.form(\"city\") & \"\',telefon = \" & request.form(\"telefon\") & \",telefax = \" & telefax & \",hjemmeside = \'\" & request.form(\"hjemmeside\") & \"\',email = \'\" & request.form(\"email\") & \"\',info_om = \'\" & request.form(\"info_om\") & \"\',henviser_til = \'\" & request.form(\"henviser_til\") & \"\' WHERE id = \" & Request(\"id\") Men da jeg ikke ønkser id_nr (svarede til kundenummer) og jeg ydermere har fjernet \"info_om\" & \"henviser_til\" skal linien skrives om. Hvordan skal man opdatere ned i en access database, når man har rettet oplysninger om en bruger? Mit gæt var: SQLstmt = \"UPDATE DISTINCTROW adresse SET id = \" & request.form(\"id\") & \", dato = #\" & Now & \"#, navn = \'\" & request.form(\"navn\") & \"\', adresse = \'\" & request.form(\"adresse\") & \"\', postnr = \" & request.form(\"postnr\") & \",city = \'\" & request.form(\"city\") & \"\',telefon = \" & request.form(\"telefon\") & \",mobil = \" & mobil & \",hjemmeside = \'\" & request.form(\"hjemmeside\") & \"\',email = \'\" & request.form(\"email\") & \"\' WHERE id = \" & Request(\"id\")\'SQLstmt = SQLstmt & \" VALUES (\" & request.form(\"telefon\") & \",#\" & Now & \"#,\'\" & request.form(\"navn\") & \"\',\'\" & request.form(\"adresse\") & \"\',\" & request.form(\"postnr\") & \",\'\" & request.form(\"city\") & \"\',\" & request.form(\"telefon\") & \",\" & mobil & \",\'\" & request.form(\"hjemmeside\") & \"\',\'\" & request.form(\"email\") & \"\')\"
Annonceindlæg fra Pax8
26. februar 2001 - 11:03
#1
Det ser litt merkelig ut at du SET id = ... når du loitt senere bruker id som filter på din query. En annen ting er at hvis \'id\' er primærnøkkel i din tabell, så vil ikke dette fungere i det hele tatt. Prøv dette heller: SQLstmt = \"UPDATE DISTINCTROW adresse SET dato = #\" & Now & \"#, navn = \'\" & request.form(\"navn\") & \"\', adresse = \'\" & request.form(\"adresse\") & \"\', postnr = \" & request.form(\"postnr\") & \",city = \'\" & request.form(\"city\") & \"\',telefon = \" & request.form(\"telefon\") & \",mobil = \" & request.form(\"mobil\") & \",hjemmeside = \'\" & request.form(\"hjemmeside\") & \"\',email = \'\" & request.form(\"email\") & \"\' WHERE id = \" & Request(\"id\")\' Standard update i tabel ser sånn ut i SQL: UPDATE [tabel] SET [kolonne] = [verdi] ... WHERE [conditions] /nute
26. februar 2001 - 11:25
#2
Jeg får følgende fejl: Microsoft OLE DB Provider for ODBC Drivers error \'80004005\' [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query. /family/adresser/gem_ret_data.asp, line 23 (linie 23 er Conn.Execute (SQLstmt)) Kan det skydes at DB er konverteret fra acces 97 til 2000 ?
26. februar 2001 - 11:26
#3
Check skriverettighederne
26. februar 2001 - 11:30
#4
jepp...det kan høres ut som om skriverettighetene ikke er korrekt. Du kan jo også teste din SQL direkte i SQL mode i Access for å se om din SQL faktisk er korrekt /nute
26. februar 2001 - 11:37
#5
jeg får ingen fejl hvis jeg tester databasen og der er ingen skrivebeskyttelse i \"databaseegenskaber\"
26. februar 2001 - 11:41
#6
hva skjer hvis du fjerner DISTINCTROW...?
26. februar 2001 - 11:43
#7
Prøv lige at checke skriverettigheder på databasebiblioteket også.
26. februar 2001 - 11:48
#8
der er adgang til det hele - jeg prøver at hente originalen ind igen og starter forfra - tak for hjælpe ellers
26. februar 2001 - 11:49
#9
DOH... der fik jeg byttet om på pointsene - jeg opretter lige et nyt til dig nute
Kurser inden for grundlæggende programmering