Avatar billede soren_sejs Nybegynder
28. februar 2001 - 17:20 Der er 16 kommentarer og
1 løsning

Opdater access database

Jeg vil gerne kunne opdatere mine poster i en access database online. Jeg kan godt lave det med at jeg fra en side klikker på den post jeg vil rette, og så få det vist i en formular, men det er når jeg skal have den til at opdatere access det knvier... Jeg har prøvet med følgende, men det virker ikke!


<% if mode = \"update\" Then %>
<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"sejs.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM kal2 WHERE id =\" & id
rs.open sql, conn, 1, 2
rs.Update
rs(\"dag\") = Request.form(\"dag\")
rs(\"dato\") = Request.form(\"dato\") 
rs.Update

rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
%>

<% end if %>
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:21 #1
<% if mode = \"update\" Then %>
<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"sejs.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM kal2 WHERE id =\" & id
rs.open sql, conn, 1, 3
rs.Update
rs(\"dag\") = Request.form(\"dag\")
rs(\"dato\") = Request.form(\"dato\") 
rs.Update

rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
%>

<% end if %>
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:23 #2
hvorfor opdatere du foresten den 2 gange??
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:23 #3
den første rs.Update er vel ikke nødvendig, for du skal vel ikke opdatere 2 gange?+
Avatar billede soren_sejs Nybegynder
28. februar 2001 - 17:26 #4
Som sagt jeg er ikke så stærk til det med updater eller asp i det hele taget, det jer har forsøgt at bruge er et jeg har taget fra et andet script
Avatar billede kasseper Nybegynder
28. februar 2001 - 17:27 #5
nej du behøver ikke den første update...
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:28 #6
ok, så fjerner jeg rs.Update for dig:

<% if mode = \"update\" Then %>
<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"sejs.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM kal2 WHERE id =\" & id
rs.open sql, conn, 1, 3

rs(\"dag\") = Request.form(\"dag\")
rs(\"dato\") = Request.form(\"dato\") 
rs.Update

rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
%>

<% end if %>
Avatar billede soren_sejs Nybegynder
28. februar 2001 - 17:34 #7
Får følgende fejl:

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

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket \"id =\".

/spejder3/kal2.asp, linje 76

I linje 76 står der:

rs.open sql, conn, 1, 3
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:35 #8
hvad står der i variablen id??
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:36 #9
nå ja du var ikke så god til asp, prøv at skrive response.write id først og sig lige om der står noget men hvis der ikke står noget er det der fejlen er!
Avatar billede soren_sejs Nybegynder
28. februar 2001 - 17:39 #10
Som jeg selv (du) skriver er jeg ikke god til det med asp, hvor skal jeg skrive response.write henne????
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:40 #11
prøv lige det her:

<% if mode = \"update\" Then %>
<%
response.write id
%>

<% end if %>
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:41 #12
altså som du sikkert kan se så skal du skifte hele den kode der som du startede med :)
Avatar billede netsrac Praktikant
28. februar 2001 - 17:43 #13
Jeg har en rigtig godt script liggende til at rette i databaser online på http://www.netsrac.dk
Avatar billede soren_sejs Nybegynder
28. februar 2001 - 17:44 #14
Den skriver ikke noget!
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:45 #15
hvor får du id fra??
skriver du f.eks. fil.asp?id=5 og så skal den opdatere id 5 eller hvad??
Avatar billede soren_sejs Nybegynder
28. februar 2001 - 17:48 #16
Jeg her min side kal.asp der udskriver den en liste, som linker til kal2.asp hvor der gør sådan kal2.asp?id=5 hvis det er id 5 der skal opdateres.


Her er hele kal2.asp:

<% mode = request(\"mode\") %>
<html>

<head>
<meta http-equiv=\"Content-Language\" content=\"da\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
<title>Id</title>
</head>

<body>
<% if mode = \"\" Then %>
<%
    id = Request.QueryString( \"id\" )

    set conn = server.createobject(\"ADODB.connection\")
    conn.Open \"DBQ=\"& Server.MapPath(\"sejs.mdb\") & \";Driver={Microsoft Access Driver (*.mdb)};\"
   
    SQL = \"SELECT * FROM kal2 WHERE id =\" & id
    Set rs = Conn.Execute(SQL)
    %>
<form method=\"POST\" action=\"kal2.asp?mode=update\">
  <table border=\"1\" width=\"100%\">
    <tr>
      <td width=\"50%\">Id:</td>
      <td width=\"50%\"><%= rs(\"id\") %></td>
    </tr>
    <tr>
      <td width=\"50%\">Dag:</td>
      <td width=\"50%\"><input type=\"text\" name=\"dag\" size=\"20\" value=\"<%= rs(\"dag\") %>\"></td>
    </tr>
    <tr>
      <td width=\"50%\">Dato:</td>
      <td width=\"50%\"><input type=\"text\" name=\"dato\" size=\"20\" value=\"<%= rs(\"dato\") %>\"></td>
    </tr>
    <tr>
      <td width=\"50%\">&nbsp;</td>
      <td width=\"50%\">&nbsp;</td>
    </tr>
    <tr>
      <td width=\"50%\">&nbsp;</td>
      <td width=\"50%\"><input type=\"submit\" value=\"Send\" name=\"B1\"></td>
    </tr>
    <tr>
      <td width=\"50%\">&nbsp;</td>
      <td width=\"50%\">&nbsp;</td>
    </tr>
    <tr>
      <td width=\"50%\">&nbsp;</td>
      <td width=\"50%\">&nbsp;</td>
    </tr>
  </table>
  <input type=\"hidden\" name=\"id\" value=\"<%=rs(\"id\")%>\">
</form>
<%
    Conn.Close
    Set Conn = Nothing
%>

<% end if %>
         


</body>

</html>
<% if mode = \"update\" Then %>
<%
response.write id
%>

<% end if %>
Avatar billede tpiil Nybegynder
28. februar 2001 - 17:49 #17
<% if mode = \"update\" Then %>
<%
Set conn = Server.CreateObject(\"ADODB.Connection\")
connString = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"sejs.mdb\")
conn.open connString
Set rs =  Server.CreateObject(\"ADODB.Recordset\")
sql = \"SELECT * FROM kal2 WHERE id =\" & request(\"id\")
rs.open sql, conn, 1, 3

rs(\"dag\") = Request.form(\"dag\")
rs(\"dato\") = Request.form(\"dato\") 
rs.Update

rs.Close
Set rs = Nothing
Conn.Close
set Conn = Nothing
%>

<% end if %>
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