---
title: "Current-of-cursor???"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6525-current-of-cursor"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Mr Nils"
published: "2000-09-01T19:59:00.000Z"
updated: "2000-09-06T20:40:00.000Z"
replies: 7
views: 267
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/6525-current-of-cursor"
---

# Current-of-cursor???

## #1 — Mr Nils, 2000-09-01T19:59Z

Hejsan, har en databas som skall uppdatera en post, här är koden.

```

<!-- #include virtual="/3at/adovbs.inc" -->

<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=xxx;Password=xxxxx"
Set RecSet = Server.CreateObject("ADODB.Recordset")

Dim answer
answer = Request.Form("yesno")
If answer = "" then answer = "no"

   Uppdatera = "SELECT * FROM textbas WHERE ID = " & "1"

   RecSet.Open Uppdatera, Connect, adOpenStatic, adLockOptimistic 

	RecSet("rubrik") = Request.Form("rubrik")
	RecSet("texten") = Request.Form("texten")
	RecSet("popuptext") = Request.Form("popuptext")
	RecSet("yesno") = answer

	RecSet.Update
	RecSet.Close
	Connect.Close
Response.Redirect "visa.asp"
 %>

</html>
```

Där felet är rad 25 

```
ADODB.Recordset.1 error '80004005' 

Statement with cursor named in this statement's CURRENT-OF-CURSOR clause is not a SELECT FOR UPDATE.
```

Någon som vet vad felet är? Ganska bråttom.. så.. =)

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

## #2 — emission, 2000-09-01T20:42Z

Kan inte se felet just nu, eftersom jag inte riktigt känner till din databas.

Varför skriver du

"SELECT \* FROM textbas WHERE ID = " & "1"

??

"SELECT \* FROM textbas WHERE ID = 1"

är ju samma sak

Som alltid, undvik recordset-update, och skriv en riktig UPDATE-sats i SQL i stället. Jag brukar tjata om detta, men det tål att upprepas.

```
UPDATE textbas SET rubrik='" & Request.Form("rubrik") & "',texten='" & Request.Form("texten") & "',popuptext='" & Request.Form("popuptext") & "',yesno='" & answer & "' WHERE textbas.ID=1
```

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

## #3 — Danmagnus, 2000-09-01T20:45Z

Kan inte förstå varför nu MS (om det var dom) gör en sån klumpig grej för att göra UPDATE frågor. jag menar först hämta upp all skit i ett recordset för att sedan updatera recordsetet för att slutligen lägga in i databasen. vad tänkte dom egenligen på??. inte undra på att ASP får dåligt rykte för att det är slött. OK , åter till frågan.. jo nils , gör en proper SQL fråga istället. typ UPDATE tabell SET fält1=nydata1, fält2=nydata2 WHERE sökfält=sökbegrepp

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

## #4 — Rikard, 2000-09-01T21:02Z

Man måste inte göra sökningen, utan kan knyta recordsetet direkt till tabellen. Tycker inte att det är en dum grej, tvärtom, men man ska undvika det i ASP.

Dessutom har det inget med ASP att göra, utan bara ADO.

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

## #5 — Mr Nils, 2000-09-02T16:04Z

Ber om ursäkt för min kasshet men nu får jag: 

```
ADODB.Connection.1 error '80004005' 

Syntaxfel i UPDATE-uttryck. 

/3at/tonteknik/beta.asp, line 16
```

Rad 16 består av:

```
SQL = "UPDATE textbas SET rubrik='" & Request.Form("rubrik") & "',texten='" & Request.Form("texten") & "',popuptext='" & Request.Form("popuptext") & "',yesno='" & answer & "' WHERE textbas.ID=1"
Connect.Execute(SQL)
```

Koden i övrigt är densamma som den jag postade i första inlägget.

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

## #6 — emission, 2000-09-02T16:11Z

Ber om ursäkt för min kasshet men nu får jag:

Ingen kasshet i sikte, och inget att be om ursäkt för. :)

Kolla vad variablen SQL har för värde när du exekverar den.

Response.Write SQL

Jag utgår från att ID är av typen tal.

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

## #7 — Danmagnus, 2000-09-06T19:14Z

Rikard, visa hur du uppdaterar databasen utan att använda SQL och utan att göra en SELECT först.

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

## #8 — emission, 2000-09-06T20:40Z

Inte Rikard. Råkade posta i hans namn (bytte dator med honom ett par minuter).

```
Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open "tabellen", conn, adOpenDynamic, adLockOptimistic, adCmdTable
rs.find "ID=50"
```

för att öppna resp. söka en tabell, utan SELECT. Sökningen är väldigt inneffektiv, men att öppna en tabell så här är helt okej. Som vanligt ska man dock inte göra det ändå. UPDATE, SELECT och INSERT är det som gäller.

\[Redigerat av emission den 06 sep 2000\]

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6525-current-of-cursor
