Avatar billede Jman Praktikant
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\") & \"\')\"
Avatar billede nute Nybegynder
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
Avatar billede Jman Praktikant
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 ?
Avatar billede olelar Nybegynder
26. februar 2001 - 11:26 #3
Check skriverettighederne
Avatar billede nute Nybegynder
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
Avatar billede Jman Praktikant
26. februar 2001 - 11:37 #5
jeg får ingen fejl hvis jeg tester databasen og der er ingen skrivebeskyttelse i \"databaseegenskaber\"
Avatar billede nute Nybegynder
26. februar 2001 - 11:41 #6
hva skjer hvis du fjerner DISTINCTROW...?
Avatar billede olelar Nybegynder
26. februar 2001 - 11:43 #7
Prøv lige at checke skriverettigheder på databasebiblioteket også.
Avatar billede Jman Praktikant
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
Avatar billede Jman Praktikant
26. februar 2001 - 11:49 #9
DOH... der fik jeg byttet om på pointsene - jeg opretter lige et nyt til dig nute
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