Avatar billede bobbedude Nybegynder
19. november 2001 - 11:30 Der er 19 kommentarer og
1 løsning

Update

Jeg har en form hvor man kan opdater felter når man submiter formen sendes der et hidden field med og update tingen ser sådan ud:

connect.execute(\"Update kategorier set katoverskrift= \'\"& request.form(\"kundenavn\")&\"\'\")

også videre.

Det der går galt er at alle poster bliver sat til det samme, knap så godt hvordan er det lige man laver så det kun er en række der bliver opdateret og ikke alle.
Avatar billede sone Nybegynder
19. november 2001 - 11:31 #1
Brug WHERE:
UPDATE tabel SET felt=\'x\' WHERE idfelt=4
Avatar billede nute Nybegynder
19. november 2001 - 11:32 #2
du er nødt til å sette en betingelse på, fx:

connect.execute(\"Update kategorier set katoverskrift= \'\"& request.form(\"kundenavn\")&\"\' WHERE id = 2\")

Avatar billede bobbedude Nybegynder
19. november 2001 - 11:35 #3
Såden her ??

connect.execute(\"Update kategorier set katoverskrift= \'\"& request.form(\"kundenavn\")&\"\' WHERE katid= \'\"& request.form(\"katid\")\"\'\")
Avatar billede nute Nybegynder
19. november 2001 - 11:37 #4
nei...sånn her:

connect.execute(\"Update kategorier set katoverskrift= \'\"& request.form(\"kundenavn\")&\"\' WHERE katid= \"& request.form(\"katid\"))

jeg regner med at \'katid\' er numerisk kolonne i databasen, dermed skal du ikke ha pinger rundt verdien

/nute
Avatar billede bobbedude Nybegynder
19. november 2001 - 11:46 #5
Det virker ikke rigtigt men jeg har vist også lavet en fejl eller flere, men min sql ser sådan ud:


connect.execute(\"Update kategorier set katoverskrift= \'\"& request.form(\"kundenavn\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set adresse= \'\"& request.form(\"adresse\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set telefon= \'\"& request.form(\"telefon\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set fax= \'\"& request.form(\"fax\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set email= \'\"& request.form(\"email\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson1= \'\"& request.form(\"konperson1\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson2= \'\"& request.form(\"konperson2\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson3= \'\"& request.form(\"konperson3\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson4= \'\"& request.form(\"konperson4\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson5= \'\"& request.form(\"konperson5\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson6= \'\"& request.form(\"konperson6\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson7= \'\"& request.form(\"konperson7\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set konperson8= \'\"& request.form(\"konperson8\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
connect.execute(\"Update kategorier set katbeskrivelse= \'\"& request.form(\"katbeskrivelse\")&\"\' WHERE katid= \"& request.form(\"katid\")\"\")
Avatar billede nute Nybegynder
19. november 2001 - 11:56 #6
hva gjør de to \"\" i slutten av hver connect.execute ?? det skal da kun være én !!

det er forresten en grim måte du foretar din update på....hvofor ikke utføre alt i en operasjon for å spare litt på serverkraft ??


SQL = \"Update kategorier set (katoverskrift= \'\" &  request.form(\"kundenavn\") & \"\', \"
SQL = SQL & \"adresse= \'\"& request.form(\"adresse\")&\"\', \"
SQL = SQL & \"telefon= \'\"& request.form(\"telefon\")&\"\', \"
SQL = SQL & \"fax= \'\"& request.form(\"fax\")&\"\', \"
SQL = SQL & \"email= \'\"& request.form(\"email\")&\"\', \"
SQL = SQL & \"konperson1= \'\"& request.form(\"konperson1\")&\"\', \"
SQL = SQL & \"konperson2= \'\"& request.form(\"konperson2\")&\"\', \"
SQL = SQL & \"konperson3= \'\"& request.form(\"konperson3\")&\"\', \"
SQL = SQL & \"konperson4= \'\"& request.form(\"konperson4\")&\"\', \"
SQL = SQL & \"konperson5= \'\"& request.form(\"konperson5\")&\"\', \"
SQL = SQL & \"konperson6= \'\"& request.form(\"konperson6\")&\"\', \"
SQL = SQL & \"konperson7= \'\"& request.form(\"konperson7\")&\"\', \"
SQL = SQL & \"konperson8= \'\"& request.form(\"konperson8\")&\"\', \"
SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"katbeskrivelse\")&\"\' \"
SQL = SQL & \"WHERE katid= \"& request.form(\"katid\")


connect.execute( SQL )

/nute
Avatar billede nute Nybegynder
19. november 2001 - 11:57 #7
hov...glemte lige en )...

SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"katbeskrivelse\")&\"\' \"

skal være:

SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"katbeskrivelse\")&\"\') \"
Avatar billede bobbedude Nybegynder
19. november 2001 - 12:04 #8
Jeg får denne fejl i linie 316 :

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected \'DELETE\', \'INSERT\', \'PROCEDURE\', \'SELECT\', or \'UPDATE\'.


linie 316 er = connect.execute( SQL )
Avatar billede nute Nybegynder
19. november 2001 - 12:07 #9
hvis du skriver ut din SQL istedenfor å eksekvere de, hva får du som resultat ?
Avatar billede bobbedude Nybegynder
19. november 2001 - 12:19 #10
katbeskrivelse= \'\')adresse= \'skomagervej3\', telefon= \'75828902\', fax= \'20556398\', email= \'bobbe@direkte.org\', konperson1= \'hanne jensen mail@hanne.dk\', konperson2= \'hanne jensen mail@hanne.dk\', konperson3= \'hanne jensen mail@hanne.dk\', konperson4= \'hanne jensen mail@hanne.dk\', konperson5= \'hanne jensen mail@hanne.dk\', konperson6= \'hanne jensen mail@hanne.dk\', konperson7= \'hanne jensen mail@hanne.dk\', konperson8= \'hanne jensen mail@hanne.dk\', katbeskrivelse= \'\' WHERE katid= 6
Avatar billede bobbedude Nybegynder
19. november 2001 - 12:22 #11
det ser jo helt rigtigt ud ??
Avatar billede bobbedude Nybegynder
19. november 2001 - 12:45 #12
men det virker stadig ikke
Avatar billede nute Nybegynder
19. november 2001 - 12:50 #13
nei....det ser *ikke* riktig ut...

du kan ikke ha kopiert ovenforstående kode inn i din kode...

SQL = \"Update kategorier set (katoverskrift= \'\" &  request.form(\"kundenavn\") & \"\', \"
SQL = SQL & \"adresse= \'\"& request.form(\"adresse\")&\"\', \"
SQL = SQL & \"telefon= \'\"& request.form(\"telefon\")&\"\', \"
SQL = SQL & \"fax= \'\"& request.form(\"fax\")&\"\', \"
SQL = SQL & \"email= \'\"& request.form(\"email\")&\"\', \"
SQL = SQL & \"konperson1= \'\"& request.form(\"konperson1\")&\"\', \"
SQL = SQL & \"konperson2= \'\"& request.form(\"konperson2\")&\"\', \"
SQL = SQL & \"konperson3= \'\"& request.form(\"konperson3\")&\"\', \"
SQL = SQL & \"konperson4= \'\"& request.form(\"konperson4\")&\"\', \"
SQL = SQL & \"konperson5= \'\"& request.form(\"konperson5\")&\"\', \"
SQL = SQL & \"konperson6= \'\"& request.form(\"konperson6\")&\"\', \"
SQL = SQL & \"konperson7= \'\"& request.form(\"konperson7\")&\"\', \"
SQL = SQL & \"konperson8= \'\"& request.form(\"konperson8\")&\"\', \"
SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"katbeskrivelse\")&\"\') \"
SQL = SQL & \"WHERE katid= \"& request.form(\"katid\")


connect.execute( SQL )
Avatar billede bobbedude Nybegynder
19. november 2001 - 12:53 #14
Nops koden ser sådan ud :

<%
case \"opdater\"

if request.form(\"update\") <> \"\" then

Function ChkString(string)
If string = \"\" Then string = \" \"
ChkString = Replace(string, \"\'\", \"\'\'\")
End Function
end if

response.write \"<b>Så skulle den gerne opdater</b><br>\"

SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"katbeskrivelse\")&\"\')\"
SQL = SQL & \"adresse= \'\"& request.form(\"adresse\")&\"\', \"
SQL = SQL & \"telefon= \'\"& request.form(\"telefon\")&\"\', \"
SQL = SQL & \"fax= \'\"& request.form(\"fax\")&\"\', \"
SQL = SQL & \"email= \'\"& request.form(\"email\")&\"\', \"
SQL = SQL & \"konperson1= \'\"& request.form(\"konperson1\")&\"\', \"
SQL = SQL & \"konperson2= \'\"& request.form(\"konperson2\")&\"\', \"
SQL = SQL & \"konperson3= \'\"& request.form(\"konperson3\")&\"\', \"
SQL = SQL & \"konperson4= \'\"& request.form(\"konperson4\")&\"\', \"
SQL = SQL & \"konperson5= \'\"& request.form(\"konperson5\")&\"\', \"
SQL = SQL & \"konperson6= \'\"& request.form(\"konperson6\")&\"\', \"
SQL = SQL & \"konperson7= \'\"& request.form(\"konperson7\")&\"\', \"
SQL = SQL & \"konperson8= \'\"& request.form(\"konperson8\")&\"\', \"
SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"beskrivelse\")&\"\' \"
SQL = SQL & \"WHERE katid= \"& request.form(\"katid\")
response.write(SQL)
Connect.Execute(SQL)

case else



end select
%>
Avatar billede bobbedude Nybegynder
19. november 2001 - 12:55 #15
resultatet ser sådan ud hvis jeg skriver SQLen ud :

Så skulle den gerne opdater
katbeskrivelse= \'\')adresse= \'skomagervej3\', telefon= \'75828902\', fax= \'20556398\', email= \'bobbe@direkte.org\', konperson1= \'hanne jensen mail@hanne.dk\', konperson2= \'hanne jensen mail@hanne.dk\', konperson3= \'hanne jensen mail@hanne.dk\', konperson4= \'hanne jensen mail@hanne.dk\', konperson5= \'hanne jensen mail@hanne.dk\', konperson6= \'hanne jensen mail@hanne.dk\', konperson7= \'hanne jensen mail@hanne.dk\', konperson8= \'hanne jensen mail@hanne.dk\', katbeskrivelse= \'yrsa\' WHERE katid= 6
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected \'DELETE\', \'INSERT\', \'PROCEDURE\', \'SELECT\', or \'UPDATE\'.

kundeinfo.asp, line 316
Avatar billede nute Nybegynder
19. november 2001 - 12:57 #16
bobbedude >> bruk øynene litt !! Se hva som er forskjell på min kode og din kode...

deretter kan du bestemme deg for om de er like (noe de *overhodet* ikke er). du skal bruke min kode og ikke det makkverket du har postet. det hører ingen steds hjemme...

/nute
Avatar billede bobbedude Nybegynder
19. november 2001 - 13:10 #17
ok sådan her:

SQL = \"Update kategorier set (katoverskrift= \'\" &  request.form(\"kundenavn\") & \"\', \"
SQL = SQL & \"adresse= \'\"& request.form(\"adresse\")&\"\', \"
SQL = SQL & \"telefon= \'\"& request.form(\"telefon\")&\"\', \"
SQL = SQL & \"fax= \'\"& request.form(\"fax\")&\"\', \"
SQL = SQL & \"email= \'\"& request.form(\"email\")&\"\', \"
SQL = SQL & \"konperson1= \'\"& request.form(\"konperson1\")&\"\', \"
SQL = SQL & \"konperson2= \'\"& request.form(\"konperson2\")&\"\', \"
SQL = SQL & \"konperson3= \'\"& request.form(\"konperson3\")&\"\', \"
SQL = SQL & \"konperson4= \'\"& request.form(\"konperson4\")&\"\', \"
SQL = SQL & \"konperson5= \'\"& request.form(\"konperson5\")&\"\', \"
SQL = SQL & \"konperson6= \'\"& request.form(\"konperson6\")&\"\', \"
SQL = SQL & \"konperson7= \'\"& request.form(\"konperson7\")&\"\', \"
SQL = SQL & \"konperson8= \'\"& request.form(\"konperson8\")&\"\', \"
SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"beskrivelse\")&\"\') \"
SQL = SQL & \"WHERE katid= \"& request.form(\"katid\")

Connect.Execute(SQL)


men det giver stadig en fejl:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

kundeinfo.asp, line 317
line 317 = Connect.Execute(SQL)
Avatar billede nute Nybegynder
19. november 2001 - 13:18 #18
er alle felt i databasen av typen text (unntagen katid) ?? er du sikker på at alle kolonne navn er skrevet korrekt ? er du sikker på at kolonnene tillater null verdier (jeg så at din katoverskrift ikke har noe innhold). evt prøv å fjern parantesene inne i SQL\'en i første linje:

SQL = \"Update kategorier set katoverskrift= \'\" &  request.form(\"kundenavn\") & \"\', \"

og i  nest siste linje:

SQL = SQL & \"katbeskrivelse= \'\"& request.form(\"beskrivelse\")&\"\' \"

/nute


Avatar billede bobbedude Nybegynder
19. november 2001 - 13:26 #19
Efter jeg fjernede ( ) virkede det.

tak for din hjælp nute, og undskyld jeg er lidt langsom :ø) Du har fortjent de point :ø))
Avatar billede nute Nybegynder
19. november 2001 - 13:28 #20
anytime :)

selv takk...

/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