---
title: "Update problem, simpelt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/122816-update-problem-simpelt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jns"
published: "2005-02-19T17:02:16.000Z"
updated: "2005-02-20T18:17:19.000Z"
replies: 9
views: 445
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/122816-update-problem-simpelt"
---

# Update problem, simpelt

## #1 — jns, 2005-02-19T17:02Z

Antagligen är det ett väldigt enkelt fel, men hur mycket jag än
söker lyckas jag inte hitta nått.
felkod:

```
Microsoft JET Database Engine (0x80040E14)
Syntax error in UPDATE statement.
/admin/users.asp, line 20
```

Kod:

```
<%
if request.querystring("funk") = "bytpass" THEN

nypass = request.form("newpass")
prevpass = request.form("prevpass")
updatera = "UPDATE login SET Password = " & nypass & " WHERE Password = " & prevpass & " AND ID = " & loginID

set mincon =Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\jeha\ukm\db\main.mdb")

Set rs = mincon.Execute(updatera)

If rs.EOF Then

rs.Close
Set rs = Nothing
mincon.Close
Set mincon = Nothing

	Session("username") = ""
	Session("password") = ""
	Session.Abandon
	
	Response.Redirect("login.asp?status=denied")

ELSE

Session("username") = loginnamn
Session("password") = newpass
response.redirect("huvud.asp")

end if
end if
%>
```

Rad 20 är alltså: Set rs = mincon.Execute(updatera)

Tack på förhand

Permalänk: https://www.webforum.nu/p/122816

## #2 — LarsG, 2005-02-19T17:10Z

Byt namn på kolumnenn password.

Lägg till apostrofer

```
nypass = "'" & replace(request.form("newpass"),"'","''") & "'"
prevpass = "'" & replace(request.form("prevpass"),"'","''") & "'"
updatera = "UPDATE login SET assword = " & nypass & " WHERE assword = " & prevpass & " AND ID = " & loginID
```

Permalänk: https://www.webforum.nu/p/1557261

## #3 — jns, 2005-02-19T17:43Z

varför måste man göra så?

Funkar fortfarande ej...

```
nypass = "'" & replace(request.form("newpass"),"'","''") & "'"
prevpass = "'" & replace(request.form("prevpass"),"'","''") & "'"
updatera = "UPDATE login SET Password = " & nypass & " WHERE Password = " & prevpass & " AND ID = " & loginID
```

och samma felmeddelande

Permalänk: https://www.webforum.nu/p/1557274

## #4 — LarsG, 2005-02-19T17:44Z

Repeat after me once more

Byt namn på kolumnen password.

Permalänk: https://www.webforum.nu/p/1557275

## #5 — jns, 2005-02-19T17:56Z

ok, funkar bättre, posten läggs in men jag har visst klantat mig på ett till ställe:

```
ADODB.Recordset (0x800A0E78)
Operation is not allowed when the object is closed.
admin/users.asp, line 21
```

Kod

```
<%
if request.querystring("funk") = "bytpass" THEN

nypass = "'" & replace(request.form("newpass"),"'","''") & "'"
prevpass = "'" & replace(request.form("prevpass"),"'","''") & "'"
updatera = "UPDATE login SET pwd = " & nypass & " WHERE pwd = " & prevpass & " AND ID = " & loginID

set mincon =Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\main.mdb")

Set rs = mincon.Execute(updatera)

If rs.EOF Then

mincon.Close
Set mincon = Nothing
rs.Close
Set rs = Nothing

Session("username") = ""
Session("password") = ""
Session.Abandon
	
Response.Redirect("login.asp?status=denied")

ELSE

Session("username") = loginnamn
Session("password") = newpass
response.redirect("huvud.asp")

end if
end if
%>
```

rad 21 är If rs.EOF Then

Permalänk: https://www.webforum.nu/p/1557276

## #6 — LarsG, 2005-02-19T18:03Z

En update returnerar aldrig någon post så det finns ingen anledning att använda ett recordset.

```

    mincon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\main.mdb")
    mincon.Execute updatera,affectedRows,128

    mincon.Close
    Set mincon = Nothing
    If  affectedRows = 0 Then
        Session("username") = ""
        Session("password") = ""
        Session.Abandon
        Response.Redirect "login.asp?status=denied"
    ELSE
        Session("username") = loginnamn
        Session("password") = newpass
        response.redirect "huvud.asp"
    end if
end if
```

Permalänk: https://www.webforum.nu/p/1557282

## #7 — @nders, 2005-02-19T18:05Z

En updatefråga genererar inget svar, så det är onödigt att skapa ett recordset. Jag vet inte riktigt vad du försöker göra med koden, men kanske är det det här du menar?

```
<%
if request.querystring("funk") = "bytpass" THEN
nypass = "'" & replace(request.form("newpass"),"'","''") & "'"
prevpass = "'" & replace(request.form("prevpass"),"'","''") & "'"
updatera = "UPDATE login SET pwd = " & nypass & " WHERE pwd = " & prevpass & " AND ID = " & loginID

set mincon =Server.CreateObject("ADODB.Connection")
mincon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\main.mdb")
mincon.execute updatera,rowsaffected,128

mincon.Close
Set mincon = Nothing

if rowsaffected = 0 then
	Session("username") = ""
	Session("password") = ""
	Session.Abandon
	Response.Redirect("login.asp?status=denied")
ELSE
	Session("username") = loginnamn
	Session("password") = newpass
	response.redirect("huvud.asp")
end if
end if
%>
```

mvh

Permalänk: https://www.webforum.nu/p/1557283

## #8 — jns, 2005-02-19T19:31Z

ok, kände inte till rowsaffect, men nu vet jag.
Tack iallafall!

Permalänk: https://www.webforum.nu/p/1557320

## #9 — Holmstroem, 2005-02-20T17:46Z

```
<%
if request.querystring("funk") = "bytpass" THEN
nypass = "'" & replace(request.form("newpass"),"'","''") & "'"
prevpass = "'" & replace(request.form("prevpass"),"'","''") & "'"
updatera = "UPDATE login SET pwd = " & nypass & " WHERE pwd = " & prevpass & " AND ID = " & loginID

set mincon =Server.CreateObject("ADODB.Connection")
mincon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\main.mdb")
mincon.execute updatera,rowsaffected,128

mincon.Close
Set mincon = Nothing

if rowsaffected = 0 then
	[B]Session("username") = ""
	Session("password") = ""[/B]
	Session.Abandon
	Response.Redirect("login.asp?status=denied")
ELSE
	Session("username") = loginnamn
	Session("password") = newpass
	response.redirect("huvud.asp")
end if
end if
%>
```

Är inte den tjocka texten onödig? :P

Permalänk: https://www.webforum.nu/p/1557569

## #10 — @nders, 2005-02-20T18:17Z

> **Holmstroem skrev:**
>
> Är inte den tjocka texten onödig? :P

Jo, egentligen. Vad menar du för övrigt med din :P-smiley?

Permalänk: https://www.webforum.nu/p/1557590

---

Tråden på webben: https://www.webforum.nu/amne/asp/122816-update-problem-simpelt
