Avatar billede Slettet bruger
22. marts 2001 - 17:26 Der er 24 kommentarer og
1 løsning

DATABASE

Hvordan kan jeg på en side først åbne en post i en database, hente posterne ned i en form og dernæst ændre dem i formen og tilsidst opdatere posterne I databasen.

Jeg kan godt få databasen åbnet og få udfyldt formen med med database felterne.
Avatar billede nute Nybegynder
22. marts 2001 - 17:32 #1
du skal benytte:

<%
id = request.form(\"id\")
email = request.form(\"email\")

strSQL = \"UPDATE [table] SET email = \'\" & email & \"\' WHERE id = \" & id

Set RS  = myConn.execute( strSQL )

%>

/nute
Avatar billede Slettet bruger
22. marts 2001 - 17:38 #2
Det for jeg ikke meget ud af  :)
Bliver jeg nød til at have 2 filer eller kan man godt håntere det på en side.
Avatar billede Slettet bruger
22. marts 2001 - 17:39 #3
Det er det jeg har.

<%
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(\"/fpdb/adresse.mdb\")

db.open \"SELECT * FROM Adresse WHERE id=\" & id, dsn


%>

<html>

<head>
</head>

<body>

<form method=\"POST\" action=\"retkontakt.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(\"fornavn\")%>\"><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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=\"submit\" value=\"    Tilføj    \" name=\"Send\">
        <input type=\"reset\" value=\"Nulstil\" name=\"B2\"></td>
    </tr>
  </table>
</form>

</body>

</html>
Avatar billede burningice Nybegynder
22. marts 2001 - 17:39 #4
ja... din form skal have method=\"post\" action=\"update.asp\"

Derefter laver du en submit knap og laver en sider der hedder update.asp som indeholder den kode som nute foreslog
Avatar billede burningice Nybegynder
22. marts 2001 - 17:40 #5
okay... jeg var lidt sen på den... ret update.asp til retkontakt.asp
Avatar billede nute Nybegynder
22. marts 2001 - 17:44 #6
prøv dette:

<%
response.expires = 0
if session(\"access\") <> true then response.redirect \"login.asp\"
id = request(\"id\")

if( request.form(\"action\") == \"save\" then
  db.open \"UPDATE Adresse SET fornavn = \'\" & request.form(\"fornavn\") & \"\', efternavn = \'\" & request.form(\"efternavn\") & \"\' WHERE id = \" & id
end if

set dsn = Server.CreateObject(\"ADODB.Connection\")
set db = Server.CreateObject(\"ADODB.RecordSet\")
dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/fpdb/adresse.mdb\")

db.open \"SELECT * FROM Adresse WHERE id=\" & id, dsn


%>

<html>

<head>
</head>

<body>

<form method=\"POST\" action=\"retkontakt.asp\">
  <input type=\"hidden\" name=\"action\" value=\"save\">
  <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(\"fornavn\")%>\"><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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=\"submit\" value=\"    Tilføj    \" name=\"Send\">
        <input type=\"reset\" value=\"Nulstil\" name=\"B2\"></td>
    </tr>
  </table>
</form>

</body>

</html>

dette er kun en skisse....bygg hele din SQL ferdig...ville bare vise deg prinsippet

/nute
Avatar billede Slettet bruger
22. marts 2001 - 17:45 #7
Done
jeg har nu lavet

email = request.form(\"email\")

for alle felterne

og skal jeg også lave en update for alle felterne

( strSQL = \"UPDATE [table] SET email = \'\" & email & \"\' WHERE id = \" & id )


Avatar billede Slettet bruger
22. marts 2001 - 17:51 #8
jeg får denne fejl

Microsoft VBScript runtime error \'800a01a8\'

Object required: \'myConn\'

/retkontakt.asp, line 29
Avatar billede burningice Nybegynder
22. marts 2001 - 17:52 #9
din retkontakt kan også se sådan her ud

set db = server.createobject(\"ADODB.RECORDSET\")
sql = \"Select * from [table] where (ID=\"&request(\"id\")&\")\"

db.open sql, dsn, 3, 1

db.update
db(\"email\") = request.form(\"email\")
db(\"fornavn\") = request.form(\"fornavn\")
db.update

db.close
set db = nothing

Det kræver så at action rettes til action=\"retkontakt.asp?id=<%=db(\"id\")%>\"
Avatar billede burningice Nybegynder
22. marts 2001 - 17:56 #10
rettelse:

set dsn = server.createobject(\"adodb.connection\")
dsn.open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/fpdb/adresse.mdb\")
set db = server.createobject(\"ADODB.RECORDSET\")
sql = \"Select * from [table] where (ID=\"&request(\"id\")&\")\"

db.open sql, dsn, 3, 1

db.update
db(\"email\") = request.form(\"email\")
db(\"fornavn\") = request.form(\"fornavn\")
db.update

db.close
set db = nothing

dsn.close
set dsn = nothing
Avatar billede Slettet bruger
22. marts 2001 - 18:04 #11
ADODB.Recordset error \'800a0cb3\'

The operation requested by the application is not supported by the provider.

/retkontakt.asp, line 9
Avatar billede nute Nybegynder
22. marts 2001 - 18:30 #12
cyberfessor >> hva er det du lager ??

db.update
db(\"email\") = request.form(\"email\")
db(\"fornavn\") = request.form(\"fornavn\")
db.update

db.update ????? 2 ganger ????? man kan ikke update en tabell etter en SELECT statement !!

mhingeh >> hvorfor benytter du ikke det scriptet som jeg har postet 22/03 2001 17:44:50 . det eneste du faktisk må gjøre er å bytte ut

if( request.form(\"action\") == \"save\" then
  db.open \"UPDATE Adresse SET fornavn = \'\" & request.form(\"fornavn\") & \"\', efternavn = \'\" & request.form(\"efternavn\") & \"\' WHERE id = \" & id
end if

set dsn = Server.CreateObject(\"ADODB.Connection\")
set db = Server.CreateObject(\"ADODB.RecordSet\")
dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/fpdb/adresse.mdb\")

med :

set dsn = Server.CreateObject(\"ADODB.Connection\")
set db = Server.CreateObject(\"ADODB.RecordSet\")
dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/fpdb/adresse.mdb\")

if( request.form(\"action\") == \"save\" then
  db.open \"UPDATE Adresse SET fornavn = \'\" & request.form(\"fornavn\") & \"\', efternavn = \'\" & request.form(\"efternavn\") & \"\' WHERE id = \" & id
end if

de to bitene med kode står i feilrekkefølge

/nute
Avatar billede Slettet bruger
22. marts 2001 - 18:38 #13
Kan jeg gøre dette i samme fil som formen er i.
Avatar billede nute Nybegynder
22. marts 2001 - 18:39 #14
jepp...
Avatar billede Slettet bruger
22. marts 2001 - 19:12 #15
hvad skal action være i formen
Avatar billede nute Nybegynder
22. marts 2001 - 19:14 #16
navnet på den filen som scriptet ligger i

/nute
Avatar billede Slettet bruger
22. marts 2001 - 19:24 #17
Microsoft VBScript compilation error \'800a03ea\'

Syntax error

/retkontakt.asp, line 7

if( request.form(\"action\") == \"save\" then

Avatar billede Slettet bruger
22. marts 2001 - 19:34 #18
Det jeg har gjort er
at jeg sender min form til retkontakt.asp

Følgende script er i min retkontakt.asp
<%
set dsn = Server.CreateObject(\"ADODB.Connection\")
set db = Server.CreateObject(\"ADODB.RecordSet\")
dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/fpdb/adresse.mdb\")
id = request.form(\"id\")

if( request.form(\"action\") == \"save\" then
  db.open \"UPDATE Adresse SET fornavn = \'\" & request.form(\"fornavn\") & \"\', efternavn = \'\" & request.form(\"efternavn\") & \"\', adresse = \'\" & request.form(\"adresse\") & \"\', post = \'\" & request.form(\"post\") & \"\', by = \'\" & request.form(\"by\") & \"\', telefon = \'\" & request.form(\"tlf\") & \"\', mobil = \'\" & request.form(\"mobil\") & \"\', telefax = \'\" & request.form(\"telefax\") & \"\', land = \'\" & request.form(\"land\") & \"\', email = \'\" & request.form(\"email\") & \"\' WHERE id = \" & id 
end if
%>
Avatar billede nute Nybegynder
22. marts 2001 - 19:38 #19
skriv

if( request.form(\"action\") == \"save\") then

så skal det nok fungere....

/nute
Avatar billede Slettet bruger
22. marts 2001 - 19:42 #20
det vil den ikke...
der kommer ingen fejl med

if( request.form(\"action\") = \"save\") then

med 1. = tegn og ikke 2.

med det lader ikke til at den opdate data

Avatar billede Slettet bruger
22. marts 2001 - 19:48 #21
skulle jeg bruge dette script til noget

<%
id = request.form(\"id\")
email = request.form(\"email\")

strSQL = \"UPDATE [table] SET email = \'\" & email & \"\' WHERE id = \" & id

Set RS  = myConn.execute( strSQL )

%>
Avatar billede Slettet bruger
22. marts 2001 - 20:22 #22
DET VIRKER IKKE I NU

Hvad Mangler jeg

<%
id = request.form(\"id\")

set dsn = Server.CreateObject(\"ADODB.Connection\")
set db = Server.CreateObject(\"ADODB.RecordSet\")
dsn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"/fpdb/adresse.mdb\")


if (request.form(\"action\") = \"save\") then
  db.open \"UPDATE Adresse SET fornavn = \'\" & request.form(\"fornavn\") & \"\', efternavn = \'\" & request.form(\"efternavn\") & \"\', adresse = \'\" & request.form(\"adresse\") & \"\', post = \'\" & request.form(\"post\") & \"\', by = \'\" & request.form(\"by\") & \"\', telefon = \'\" & request.form(\"tlf\") & \"\', mobil = \'\" & request.form(\"mobil\") & \"\', telefax = \'\" & request.form(\"telefax\") & \"\', land = \'\" & request.form(\"land\") & \"\', email = \'\" & request.form(\"email\") & \"\' WHERE id = \" & id 
end if


%>
Avatar billede burningice Nybegynder
22. marts 2001 - 21:26 #23
til nute: DET PASSER IKKE... det script jeg kom med virker FINT!!!!!!

et lille udklip fra en fuldt ud funktionel side jeg har udviklet
---------------------------------

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"select * from produkt WHERE (autonr = \" & Request.QueryString(\"nr\") & \")\"
rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.Update
      rs(\"mærke\") = Request.form(\"mærke\")
      rs(\"kaliber\") = Request.form(\"kaliber\")
      rs(\"haglstørrelsemm\") = Request.form(\"haglstørrelsemm\")
      rs(\"haglstørrelseus\") = Request.form(\"haglstørrelseus\")
      rs(\"ladning\") = Request.form(\"ladning\")
      rs(\"krudt\") = Request.form(\"krudt\")
      rs(\"antalpræske\") = Request.form(\"antalpræske\")
      rs(\"æskerprkasse\") = Request.form(\"æskerprkasse\")
      rs(\"patronerpræske\") = Request.form(\"patronerpræske\")
      rs(\"vægtprkasse\") = Request.form(\"vægtprkasse\")
      rs(\"prispr1000\") = Request.form(\"prispr1000\")
      rs(\"prispr1000cph\") = Request.form(\"prispr1000cph\")
      rs(\"prispr1000rabat\") = Request.form(\"prispr1000rabat\")
      rs(\"prisprkasse\") = Request.form(\"prisprkasse\")
      rs(\"prisprkassecph\") = Request.form(\"prisprkassecph\")
      rs(\"prisprkasserabat\") = Request.form(\"prisprkasserabat\")
      rs(\"bestilnr\") = Request.form(\"bestilnr\")
      rs(\"ean\") = Request.form(\"ean\")
      rs.Update

rs.Close
Set rs = Nothing

--------------------------------

Ang. din opdatering vil jeg gøre 2 ting

erstat 
if(request.form(\"action\") = \"save\") then
med
if request.querystring(\"mode\") = \"save\" then
og
<form method=\"POST\" action=\"retkontakt.asp\">
med
<form method=\"POST\" action=\"dinside?mode=save.asp\">

så skulle den være der

Avatar billede nute Nybegynder
23. marts 2001 - 02:20 #24
cyberfessor >> du skal bare ikke bruke xx.update *før* de gjør en forandring i databasen !! skriver man sine SQL korrekt, så gjør man det på en penere måte enn det du har gjort

mhingeh >> jeg ser det ikke fungerer..fordi du skal bytte ut

if( request.form(\"action\") = \"save\") then

med

if( request.form(\"action\") == \"save\") then

/nute
Avatar billede Slettet bruger
23. marts 2001 - 18:06 #25
FIK INGEN LØSNING DER VIRKEDE DENNE GANG
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