Avatar billede agg-zeus Nybegynder
23. januar 2002 - 19:31 Der er 12 kommentarer og
1 løsning

Update-sætning

Jeg har et problem med en UPDATE-sætning til en Access DB... Jeg har levet en på en anden side, hvor den virker, og jeg har brugt samme metode nu, men det virker ikke!

Jeg får følgende fejlmeddelelse :

Fejltype:
Microsoft JET Database Engine (0x80004005)
Handlingen skal bruge en opdaterbar forespørgsel.
/knp/change1.asp, line 26


Koden i change1.asp ser således ud :

<% Option Explicit %>

<%
    Dim cn, cnstr, sti
   
sti = server.mappath("knp.mdb")
set cn = server.createobject("adodb.connection")
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
cnstr = cnstr & "Data Source=" & sti & ";"
cn.connectionstring = cnstr
cn.open

Dim sql
sql = "update test set bodybgcolor=" & request.form("bodybgcolor") & " "
sql = sql & "where ID=" & request.form("ID") & " "

cn.execute sql
Response.Redirect("change.asp?msg=Opdatering+gennemført")
cn.close
set cn = nothing


%>

Avatar billede keysersoze Ekspert
23. januar 2002 - 19:36 #1
der er formentlig ikke skriverettigheder til der hvor databasen ligger..
Avatar billede agg-zeus Nybegynder
23. januar 2002 - 20:12 #2
jeg har ikke uploadet det endnu... Det ligger på min computer... http://localhost/ ...
Avatar billede keysersoze Ekspert
23. januar 2002 - 20:21 #3
derfor kan det jo godt være at der ikke er skriverettigheder
Avatar billede agg-zeus Nybegynder
23. januar 2002 - 20:25 #4
Jamen, det er der... Jeg adskillige mapper hvor det virker...
Avatar billede coltau Juniormester
23. januar 2002 - 20:32 #5
1000 kr's spørgsmålet: Er der noget i felterne: request.form("ID") og request.form("bodybgcolor") og skal der plinger omkring - således.

sql = "update test set bodybgcolor='" & request.form("bodybgcolor") & "' "
Avatar billede agg-zeus Nybegynder
23. januar 2002 - 20:43 #6
Ja, der er noget i felterne... Hele fejlraporten ser således ud :

Fejltype:
Microsoft JET Database Engine (0x80004005)
Handlingen skal bruge en opdaterbar forespørgsel.
/knp/change1.asp, line 26


Browsertype:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Side:
POST 23 bytes to /knp/change1.asp

POST Data:
ID=1&bodybgcolor=268554

Klokkeslæt:
23. januar 2002, 20:24:48


Yderligere oplysninger:
Microsoft Support

Jeg har før fået af vide at når kolonnen i db'en var sat til tal så skal der ikke '' uden om...
Avatar billede coltau Juniormester
23. januar 2002 - 20:55 #7
Ok. MEN - hvis jeg ser på fejlmeddelelsen: Handlingen skal bruge en opdaterbar forespørgsel.
Så mener jeg at "handlingen" er en UPDATE og den "opdaterbar forespørgsel" er WHERE-sætningen.
For mig er det det samme som at sige: WHERE-sætningen mangler. ?

Er du ked af at udskrive sql-sætningen på skærm i stedet for at opdatere. !
Response.Write(SQL)
så jeg kan se den. ?
Avatar billede agg-zeus Nybegynder
23. januar 2002 - 20:59 #8
sql-sætningen er skrevet øverst, men nu skriver jeg den igen...

Dim sql
sql = "update test set bodybgcolor=" & request.form("bodybgcolor") & " "
'sql = sql & ", menubgcolor='" & request.form("menubgcolor") & "' "
'sql = sql & ", centerbgcolor='" & request.form("centerbgcolor") & "' "
'sql = sql & ", fontsize='" & request.form("fontsize") & "' "
'sql = sql & ", fontcolor='" & request.form("fontcolor") & "' "
'sql = sql & ", fontfamily='" & request.form("fontfamily") & "' "
'sql = sql & ", alink='" & request.form("alink") & "' "
'sql = sql & ", ahover='" & request.form("ahover") & "' "
'sql = sql & ", avisited='" & request.form("avisited") & "' "
'sql = sql & ", aactive='" & request.form("aactive") & "' "
sql = sql & "where ID=" & request.form("ID") & " "

Alle 'kommentar er for at jeg ville udelukke fejl.
Avatar billede coltau Juniormester
23. januar 2002 - 21:08 #9
Ja de linier har jeg set. Det jeg vil se er indholdet af variablen sql inden linien: cn.execute sql udføres. Det kan man se ved at udskrive den på skærmen i stedet for at opdatere.
Avatar billede netsrac Praktikant
23. januar 2002 - 21:17 #10
SQL sætningen fejler ikke noget og man kan sagtens køre en UPDATE uden en Where. RTFM og bagefter så kan i jo lytte til keysersoze for han har faktisk ret.

http://activedeveloper.dk/aspdigital/kapitel2/updateable_query.asp
Avatar billede coltau Juniormester
23. januar 2002 - 21:41 #11
Hvordan kan man lave en update uden en where. ?
Avatar billede netsrac Praktikant
23. januar 2002 - 21:43 #12
coltau >> Det er da ikke noget problem, den opdaterer så bare alle tupler i tabellen da der ikke er nogen betingelse.
Avatar billede agg-zeus Nybegynder
24. januar 2002 - 11:00 #13
keysersoze >> du havde ret... Jeg havde ikke skriverettigheder til databasen...
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