Avatar billede mnoergaard Nybegynder
18. september 2002 - 18:16 Der er 13 kommentarer og
2 løsninger

Problemer med updater og liste

Hej der ude.

Jeg har på min admin side lavet en liste over de data jeg har i database / tabel.
når jeg så klikker på den liste kommer jeg til en side hvor jeg kan se datane ud for den post.
eks.

tabel:

id--dato--test--navn
1--11-11-00--Dette er en test--Martin

jeg får så på den side hvor jag kan rette, de her dataer ud.!
men når jeg så klikker på opdater, så får jeg denne fejl.:

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Id ='.

/admin/bruger1/update/filmupdate.asp, line 15
#

nogle der kan hjæpe mig??
Avatar billede whatever Nybegynder
18. september 2002 - 18:20 #1
Hvordan ser din sql-sætning ud? Er du sikker på, at du får overført id'et korrekt?
Avatar billede mnoergaard Nybegynder
18. september 2002 - 18:22 #2
<!--#include file="../../../setup.asp"-->
<html>
<head>
<title><%=title%></title>
<link rel="stylesheet" type="text/css" href="../../../css/css.css">
</head>

<body>
<%
'Connection til databasen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../../../../db/databaser.mdb")
strSQL = "SELECT * FROM Film WHERE Id = " & Request.Querystring("id")
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "<font face=""Verdana"" size=""2"">Der er ingen indlæg i databasen!</font>"
else
Do Until rs.EOF
%>
<font face="<%=Skrifttype%>" size="<%=skriftsize%>" color="<%=skriftfarve%>">
<form method="POST" action="filmupdate.asp?mode=update">
<input type="hidden" name="id" size="20" value="<%=RS("id")%>">
<div align="center">
  <center>
  <table border="1" width="100%" height="1" bordercolor="#<%=Tablecolor%>">

  <tr>
          <td width="20%" height="11"><FONT SIZE="2"><b>Dansk titel:</FONT></b></td><td width="80%" height="11" colspan="4"><input type="text" name="dansk_titel" size="75" value="<%=RS("dansk_titel")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>orginal titel:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="orginal_titel" size="20" value="<%=RS("orginal_titel")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>orginal sprog:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="orginal_sprog" size="20" value="<%=RS("orginal_sprog")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Instruktør:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="Instruktoer" size="20" value="<%=RS("Instruktoer")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Medvirkenden:</FONT></b></td><td width="80%" height="11" colspan="4"><textarea rows="3" name="medvirkenden" cols="55"><%=RS("medvirkenden")%></textarea></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Historie:</FONT></b></td><td width="80%" height="11" colspan="4"><textarea rows="6" name="historie" cols="55"><%=RS("historie")%></textarea></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Spilletid:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="spilletid" size="2" value="<%=RS("spilletid")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Censur:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="censur" size="20" value="<%=RS("censur")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Officel hp:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="officel_hp" size="75" value="<%=RS("officel_hp")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Bio premerer:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="bio_premerer" size="20" value="<%=RS("bio_premerer")%>"></td>
  </tr><tr>
        <td width="20%" height="11"><FONT SIZE="2"><b>Video premerer:</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="video_premerer" size="20" value="<%=RS("video_premerer")%>"></td>
  </tr><tr>
          <td width="20%" height="11"><FONT SIZE="2"><b>Produktions aar</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="produktions_aar" size="20" value="<%=RS("produktions_aar")%>"></td>
  </tr><tr>
          <td width="20%" height="11"><FONT SIZE="2"><b>Genre</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="Genre" size="20" value="<%=RS("Genre")%>"></td>
  </tr><tr>
          <td width="20%" height="11"><FONT SIZE="2"><b>Film selskab</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="film_selskab" size="20" value="<%=RS("film_selskab")%>"></td>
  </tr><tr>
          <td width="20%" height="11"><FONT SIZE="2"><b>Land</FONT></b></td><td width="90%" height="11" colspan="4"><input type="text" name="Land" size="20" value="<%=RS("Land")%>"></td>
  </tr><tr>
          <td width="148" height="1">Slet besked<input type="checkbox" name="delete" value="ON"></td>
          <td width="148" height="1"><input type="submit" value="opdater/slet" name="send"></td>
  </tr>


  </table>
  </center>
</div>
</form>
</font>
<br>
<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>


<% if mode = "update" then %>
<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../../../db/databaser.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * FROM film WHERE id=" & request.form("id")
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
<% if Request.form("delete") = "ON" then
      Rs.delete
Response.Redirect "filmupdate.asp"
%><% end if %>

<%
    rs.Update
        rs("dansk_titel") = Request.form("dansk_titel")
          rs("orginal_titel") = Request.form("orginal_titel")
          rs("orginal_sprog") = Request.form("orginal_sprog")
          rs("Instruktoer") = Request.form("Instruktoer")
          rs("medvirkenden") = Request.form("medvirkenden")
          rs("historie") = Request.form("historie")
          rs("spilletid") = Request.form("spilletid")
          rs("censur") = Request.form("censur")
          rs("officel_hp") = Request.form("officel_hp")
          rs("bio_premerer") = Request.form("bio_premerer")
          rs("video_premerer") = Request.form("video_premerer")
          rs("produktions_aar") = Request.form("produktions_aar")
          rs("Genre") = Request.form("Genre")
          rs("film_selskab") = Request.form("film_selskab")
          rs("land") = Request.form("land")
    rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing

Response.Redirect "filmupdate.asp"
%>
<% end if %>
Avatar billede whatever Nybegynder
18. september 2002 - 18:27 #3
Er du sikker på, at du for overført Request.Querystring("id") korrekt?
Avatar billede mnoergaard Nybegynder
18. september 2002 - 19:24 #4
nej det er jeg ikke.!

men det var derfor jeg håbet på at der var en der kunne hjælpe mig her inde
Avatar billede whatever Nybegynder
18. september 2002 - 19:26 #5
Hvilken datatype bruger du til id'et i din database.
Avatar billede mnoergaard Nybegynder
18. september 2002 - 19:30 #6
auto
Avatar billede eagleeye Praktikant
29. september 2002 - 20:57 #7
Prøv at rette hidden feltet til:

<input type="hidden" name="id" value="<%=RS("id")%>">

Måske det skal flyttes inden for <table xxxxxxx> tagen...
Avatar billede mnoergaard Nybegynder
29. september 2002 - 21:26 #8
er der en grund til at der ikke må stå:

size="20"

??
Avatar billede eagleeye Praktikant
29. september 2002 - 21:29 #9
Det er ingen grund til at definere en size på et felt som er skjuldt.
Avatar billede eagleeye Praktikant
29. september 2002 - 21:30 #10
Prøv evt at åbne den side hvor de kan rette en record og i IE tage View Source og tjek i HTML koden at hidden feltet har en value="xxx" angivet.
Avatar billede eagleeye Praktikant
29. september 2002 - 21:33 #11
Eller får du ikke formen at se???

Hvis ikke du får formen at se så prøv at vise den kode som laver linket til updatefil.asp filen så får den ikke overført ID rigtigt.
Avatar billede eagleeye Praktikant
29. september 2002 - 21:42 #12
Ligger hele koden i samme fil ??  hvis den gør kan du nemlig få den fejl når du har lavet en rettelse i og trykker på opdater knappen for at gemme ændrigner.... Fordi ved den første SQL er der ikke noget tjek på mode:

strSQL = "SELECT * FROM Film WHERE Id = " & Request.Querystring("id")


Til at starte med skal du hendte mode:

mode = request.querystring("mode")


Derudover skal alt det kode som udskriver form'en pakkes ind i en if sætning som i stil med det koden som opdater databasen.:


if mode = "" then
  'Connection til databasen
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../../../../db/databaser.mdb")
  strSQL = "SELECT * FROM Film WHERE Id = " & Request.Querystring("id")
  set rs = Conn.execute(strSQL)

  if rs.EOF then
    Response.write "<font face=""Verdana"" size=""2"">Der er ingen indlæg i databasen!</font>"

.. hele koden helt ned til...

Conn.Close
Set Conn = Nothing%>

<% end if '<------------------------slut på form koden
%>

<% if mode = "update" then %>

... her forsætter opdater koden ....
Avatar billede mnoergaard Nybegynder
01. oktober 2002 - 20:42 #13
Jeg har opgivet, jeg har en ven til at se på mine filer i stedet for.!
men jeg vil godt give jer poing
eagleeye får 30 og det gør whatever også hvis du lige gider at indskrive et svar her inde.
Avatar billede whatever Nybegynder
01. oktober 2002 - 20:57 #14
Svar
Avatar billede mnoergaard Nybegynder
01. oktober 2002 - 21:33 #15
Tak for hjælpen
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