Avatar billede sorenmt84 Juniormester
21. december 2001 - 18:30 Der er 4 kommentarer og
1 løsning

Hvad går der galt her? (opdatering af database)

Har følgende script:
if side = \"update_adm\" Then
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/downtown.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM adm WHERE refid =\" & request(\"id\")
rs.open sql, conn, 1, 3

rs(\"password\") = Request.form(\"password\")
rs.Update
rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
response.redirect (\"personale.asp\")
end if

Hver gang jeg forsøger at kører det får jeg følgende fejl:
ADODB.Recordset error \'800a0bcd\'

Unknown runtime error

/adm/downtown/adm/personale.asp, line 290

linie 290:
rs(\"password\") = Request.form(\"password\")
Avatar billede jacobjensen Nybegynder
21. december 2001 - 18:50 #1
Du kan ikke skrive på den måde til databasen, men i stedet bruge update eller insert.
Avatar billede sorenmt84 Juniormester
21. december 2001 - 18:52 #2
Vil du komme med et eksempel?

Jeg forstår det bare ikke, for jeg har lavet mange andre sider hvor jeg gør sådan der og det virker fint!
Avatar billede darkhero Nybegynder
22. december 2001 - 02:10 #3
I det du har lavet mangler der en rs.Update, men jeg ville forelå at du laver den på den måde som jeg har lavet som det sidste her:

***************************************
if side = \"update_adm\" Then
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/downtown.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM adm WHERE refid =\" & request(\"id\")
rs.open sql, conn, 1, 3

rs.Update
rs(\"password\") = Request.form(\"password\")
rs.Update
rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
response.redirect (\"personale.asp\")
end if
***********************************
eller:
***********************************
if side = \"update_adm\" Then
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/downtown.mdb\")
conn.open connString
SQL = \"UPDATE adm SET password = \'\" & Request.form(\"password\") & \"\' WHERE refid =\" & request(\"id\")
Conn.Execute(SQL)

Conn.Close
set Conn = Nothing
response.redirect (\"personale.asp\")
end if
****************************************

JEg vile foreslå at du brugte den sidste, den er hurtigst!
Avatar billede snuseren.dk Nybegynder
22. december 2001 - 10:17 #4
Du skal gøre det på denne måde:

if side = \"update_adm\" Then
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/downtown.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM adm WHERE refid =\" & request(\"id\")
rs.open sql, conn, 1, 3
rs.AddNew
rs(\"password\") = Request.form(\"password\")
rs.Update
rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
response.redirect (\"personale.asp\")
end if

Skulle virke :)

Har selv gjort det masser af gange!

/Snuseren.dk
Avatar billede darkhero Nybegynder
22. december 2001 - 13:19 #5
snuseren>>> den kode du har skrævet laver en ny post, den opdatere ikke!

brug dem jeg har lavet!
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