Slettet bruger
23. marts 2001 - 17:09
Der er
27 kommentarer og 1 løsning
Database-hvordan opdatere jeg poster
Jeg er i gang med at lave en kontakt liste og det er meningen at man skal kunne rette i databasen. Jeg har lavet en form der henter id og tilhørende felter fra databasen og ved submit skal ændringer foretages i databsen under samme ID.
Annonceindlæg fra Lector
23. marts 2001 - 17:13
#1
Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"Select * From tabel WHERE id=\" & request(\"id\") rs.Open SQL, Conn, 1, 3 rs(\"tekst\") = Request.form(\"tekst\") rs(\"tekst2\") = Request.form(\"tekst2\") rs.Update
23. marts 2001 - 17:13
#2
ved submit skal du fyre av følgende SQL (fx): \"UPDATE [tabellnavn] SET email = \'\" & request.form(\"email\") & \"\', navn = \'\" & request.form(\"navn\") & \"\' WHERE id = \" & request(\"id\") u c my point ? /nute
23. marts 2001 - 17:14
#3
Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db/database.mdb\") SQLstmt = \"UPDATE DISTINCTROW [DinTable] SET [DinValue] = \'Detduvilindsætte\' WHERE id = \" & Request(\"id\") response.write sqlstmt Conn.Execute (SQLstmt) conn.Close Set conn = nothing Set SQLstmt = nothing
23. marts 2001 - 17:16
#4
hehe, det gik stærkt... ;)
Slettet bruger
23. marts 2001 - 17:22
#5
Jeg har lave en side (ret.asp) hvor felterne i formen har de værdier der er i posterne. min submit føre så formen til (retkontakt.asp) så jeg gerne vil have at den åbner i database med det Id der kommer fra formen og erstatte felterne med de nye fra formen
Slettet bruger
23. marts 2001 - 17:23
#6
Hvad er smartes at bruge i har alle tre, forskellige muligheder
23. marts 2001 - 17:24
#7
så kom med ret.asp
23. marts 2001 - 17:25
#8
min er nok dne letteste for der får du aldrig SQL fejl!
23. marts 2001 - 17:26
#9
madd >> hvorfor benytter du DISTINCTROW ??? det er da ikke nødvendig, spesielt ikke når man setter en \"WHERE id = xx\" mhingeh >> oppdateringen foregår ved å fyre av denne SQL: SQL = \"UPDATE [tabellnavn] SET email = \'\" & request.form(\"email\") & \"\', navn = \'\" & request.form(\"navn\") & \"\' WHERE id = \" & request(\"id\") /nute
23. marts 2001 - 17:28
#10
tpiil >> det er ikke så pen måte å kode seg ut av problemer på den måten. Selv om det er mulig, så er det ikke en \"standard\" måte å modifisere innhold i en tabell. /nute
Slettet bruger
23. marts 2001 - 17:28
#11
Her er RET.asp <% response.expires = 0 if session(\"access\") <> true then response.redirect \"login.asp\" id = request(\"id\") set dsn = Server.CreateObject(\"ADODB.Connection\") set db = Server.CreateObject(\"ADODB.RecordSet\") dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/data/adresse.mdb\") db.open \"SELECT * FROM Adresse WHERE id=\" & id, dsn %> <html> <head> </head> <body> <form method=\"POST\" action=\"retkontakt.asp?mode=save.asp\"> <table border=\"0\" width=\"354\"> <tr> <td width=\"182\"> <p align=\"left\"><b><font size=\"5\">Ret i Navnelisten</font></b></p> <p align=\"left\"><input type=\"hidden\" name=\"id\" size=\"20\" value=\"<%Response.write db(\"id\")%>\"><br> </p> </td> </tr> <tr> <td width=\"338\"><b>Fornavn<br> <input type=\"text\" name=\"Fornavn\" size=\"29\" value=\"<%Response.write db(\"fornavn\")%>\"><br> Efternavn<br> </b><input type=\"text\" name=\"Efternavn\" size=\"29\" value=\"<%Response.write db(\"efternavn\")%>\"><br> <b> Adresse<br> <input type=\"text\" name=\"Adresse\" size=\"29\" value=\"<%Response.write db(\"adresse\")%>\"><br> Post By<br> <input type=\"text\" name=\"Post\" size=\"8\" value=\"<%Response.write db(\"post\")%>\"> <input type=\"text\" name=\"By\" size=\"19\" value=\"<%Response.write db(\"by\")%>\"><br> Tlf<br> <input type=\"text\" name=\"Tlf\" size=\"29\" value=\"<%Response.write db(\"telefon\")%>\"><br> Mobil<br> </b><input type=\"text\" name=\"Mobil\" size=\"29\" value=\"<%Response.write db(\"mobil\")%>\"><b><br> Telefax<br> </b><input type=\"text\" name=\"Telefax\" size=\"29\" value=\"<%Response.write db(\"telefax\")%>\"><b><br> Land<br> </b><input type=\"text\" name=\"Land\" size=\"29\" value=\"<%Response.write db(\"land\")%>\"><b><br> Email</b><br> <input type=\"text\" name=\"Email\" size=\"29\" value=\"<%Response.write db(\"email\")%>\"><b><br> </b></td> </tr> <tr> <td width=\"182\"> <p align=\"left\"> <input type=\"submit\" value=\" Tilføj \" name=\"Send\"> <input type=\"reset\" value=\"Nulstil\" name=\"B2\"></td> </tr> </table> </form> </body> </html>
Slettet bruger
23. marts 2001 - 17:28
#12
og her er retkontakt.asp <% id = request.form(\"id\") Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"Select * From Adresse WHERE id=\" & request.form(\"id\") rs.Open SQL, Conn, 1, 3 rs(\"fornavn\") = Request.form(\"fornavn\") rs(\"efternavn\") = Request.form(\"efternavn\") rs.Update %> <body onunload=\'window.opener.location.reload()\'> <p align=\"center\"><br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> </BODY>
Slettet bruger
23. marts 2001 - 17:29
#13
Hvad gør jeg galt
Slettet bruger
23. marts 2001 - 17:30
#14
JEG ER EN DER SKAL HAVE DET SKÅRET UD I PAP :) TOTAL AMATØR JEG ER..............
23. marts 2001 - 17:34
#15
<body> <html> Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db/database.mdb\") SQLstmt = \"UPDATE DISTINCTROW Adresse SET Fornavn = \'\" & Request.Form(\"Fornavn\") & \"\', Efternavn = \'\" & Request.Form(\"Efternavn\") & \"\', Adresse = \'\" & Request.Form(\"Adresse\") & \"\', Telefon = \'\" & Request.Form(\"Tlf\") & \"\', Mobil = \'\" & Request.Form(\"Mobil\") & \"\', Telefax = \'\" & Request.Form(\"Telefax\") & \"\', Land = \'\" & Request.Form(\"Land\") & \"\', Email = \'\" & Request.Form(\"Email\") & \"\' WHERE id = \" & Request.Form(\"id\") response.write sqlstmt Conn.Execute (SQLstmt) conn.Close Set conn = nothing Set SQLstmt = nothing </body> </html>
23. marts 2001 - 17:34
#16
<% id = request.form(\"id\") set dsn = Server.CreateObject(\"ADODB.Connection\") dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/data/adresse.mdb\") Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"Select * From Adresse WHERE id=\" & id rs.Open SQL, dsn, 1, 3 rs(\"fornavn\") = Request.form(\"fornavn\") rs(\"efternavn\") = Request.form(\"efternavn\") rs(\"adresse\") = Request.form(\"Adresse\") rs(\"Post\") = Request.form(\"post\") rs(\"telefon\") = Request.form(\"Tlf\") rs(\"mobil\") = Request.form(\"Mobil\") rs(\"telefax\") = Request.form(\"Telefax\") rs(\"land\") = Request.form(\"Land\") rs(\"email\") = Request.form(\"Email\") rs.Update %> <body onunload=\'window.opener.location.reload()\'> <p align=\"center\"><br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> </BODY>
23. marts 2001 - 17:36
#17
retkontakt.asp: <% id = request.form(\"id\") set dsn = Server.CreateObject(\"ADODB.Connection\") dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/data/adresse.mdb\") Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"Select * From Adresse WHERE id=\" & id rs.Open SQL, dsn, 1, 3 rs(\"fornavn\") = Request.form(\"fornavn\") rs(\"efternavn\") = Request.form(\"efternavn\") rs(\"adresse\") = Request.form(\"Adresse\") rs(\"Post\") = Request.form(\"post\") rs(\"telefon\") = Request.form(\"Tlf\") rs(\"mobil\") = Request.form(\"Mobil\") rs(\"telefax\") = Request.form(\"Telefax\") rs(\"land\") = Request.form(\"Land\") rs(\"email\") = Request.form(\"Email\") rs.Update %> Db\'en er opdateret :)
23. marts 2001 - 17:36
#18
Ovenstående er retkontakt.asp .... En lille rettelse: Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db/database.mdb\") SKAL ERSTATTES MED Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"/data/adresse.mdb\")
Slettet bruger
23. marts 2001 - 17:38
#19
Microsoft OLE DB Provider for ODBC Drivers TPIIL error \'80004005\' [Microsoft][ODBC Microsoft Access Driver] Field \'Adresse.Telefon\' cannot be a zero-length string. /retkontakt.asp, line 20
23. marts 2001 - 17:40
#20
Små fejl er nu rettet....her er retkontakt.asp: <body> <html> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"/data/adresse.mdb\") SQLstmt = \"UPDATE DISTINCTROW Adresse SET Fornavn = \'\" & Request.Form(\"Fornavn\") & \"\', Efternavn = \'\" & Request.Form(\"Efternavn\") & \"\', Adresse = \'\" & Request.Form(\"Adresse\") & \"\', Telefon = \'\" & Request.Form(\"Tlf\") & \"\', Mobil = \'\" & Request.Form(\"Mobil\") & \"\', Telefax = \'\" & Request.Form(\"Telefax\") & \"\', Land = \'\" & Request.Form(\"Land\") & \"\', Email = \'\" & Request.Form(\"Email\") & \"\' WHERE id = \" & Request.Form(\"id\") response.write sqlstmt Conn.Execute (SQLstmt) conn.Close Set conn = nothing Set SQLstmt = nothing %> </body> </html>
23. marts 2001 - 17:40
#21
så skal du bare huske at skrive noget i formen :)
Slettet bruger
23. marts 2001 - 17:43
#22
tpiil Det virker hvis alle felterne er udfyldt men. Der skal være mulighed for at nogle af felterne er tomme
23. marts 2001 - 17:44
#23
lag din \'retkontakt.asp\' om til dette: <% id = request.form(\"id\") fornavn = request.form(\"Fornavn\") efternavn = request.form(\"Efternavn\") adresse = request.form(\"Adresse\") by = request.form(\"By\") telefon = request.form(\"Telefon\") mobil = request.form(\"Mobil\") land = request.form(\"Land\") email = request.form(\"Email\") Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"UPDATE Adresse SET fornavn = \'\" & fornavn & \"\', \" & _ \"efternavn = \'\" & efternavn & \"\', \" & _ \"adresse = \'\" & adresse & \"\', \" & _ \"by = \'\" & by & \"\', \" & _ \"telefon = \'\" & telefon & \"\', \" & _ \"mobil = \'\" & mobil & \"\', \" & _ \"land = \'\" & land & \"\', \" & _ \"email = \'\" & email & \"\' WHERE id=\" & id rs = Conn.execute(SQL) %> hvorfor gjør du dette: <body onunload=\'window.opener.location.reload()\'> ??? det vil jo ikke gjøre noe godt... /nute
23. marts 2001 - 17:45
#24
ja det er ikke mit problem det er faktisk dit for det skal laves i databasen men hvis du sender den på tpiil@netstuff.dk kan jeg lige ordne det for dig :)
Slettet bruger
23. marts 2001 - 17:47
#25
nute <body onunload=\'window.opener.location.reload()\'> ´det er til at opdatere siden jeg kom fra med de nye ændringer når jeg lukker siden ned :)
Slettet bruger
23. marts 2001 - 18:04
#26
tpiil løb af med sejren, og kunne løse mit problem TAK :)
23. marts 2001 - 18:06
#27
sejren?? hvis jeg skal kalde det en sejr skal der penge på bordet og ikke point :)
23. marts 2001 - 18:07
#28
mhingeh >> bare litt nyskjerrig....hvorfor reloade en side når man er på vei ut av den ?? det henger jo ikke sammen ?! (med mindre det er et popup vindu) /nute
Kurser inden for grundlæggende programmering