---
title: "Finn fem fel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10432-finn-fem-fel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Pace"
published: "2001-07-05T18:24:00.000Z"
updated: "2001-07-06T10:23:00.000Z"
replies: 13
views: 226
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/10432-finn-fem-fel"
---

# Finn fem fel

## #1 — Pace, 2001-07-05T18:24Z

Vad är fel i följande sql-sats (\>\> "Syntax error in UPDATE statement.")

```
SQL = "UPDATE Users SET username='" & Request.Form("username") & "', "
SQL = SQL & " password='" & Request.Form("password") & "', "
SQL = SQL & " name='" & Request.Form("name") & "', "
SQL = SQL & " initials='" & Request.Form("initials") & "', "
SQL = SQL & " email='" & Request.Form("email") & "', "
SQL = SQL & " WHERE id=" & id
```

Jag har liiite svårigheter att hålla reda på alla tecken. Finns det inte program för sånt?

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

## #2 — LarsG, 2001-07-05T18:33Z

1) Det skall inte vara något komma innan where 

2) Password är tydligen ett reserverat ord i Access. Du kan antingen döpa om kolumnen eller så ange den som \[password\]

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

## #3 — Pace, 2001-07-05T18:41Z

> Det skall inte vara något komma innan where

Var ska det annars vara? :)

> Password är tydligen ett reserverat ord i Access.

Nej, det funkade tidigare, så det är inga problem.

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

## #4 — @nders, 2001-07-05T18:56Z

> Var ska det annars vara?

det ska alltså inte vara ett komma *precis innan* where.

ta bort det sista kommat före where bara.

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

## #5 — Pace, 2001-07-05T19:03Z

Aha, det kommat! (såg jag inte ens... he he)

Fast nu har jag ett annat problem:

```
The operation requested by the application is not supported by the provider.
```

Kan man inte köra update på pws eller vadå? :q

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

## #6 — LarsG, 2001-07-05T19:16Z

Hur ser den kod ut som utför update?

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

## #7 — Pace, 2001-07-05T19:18Z

Precis som ovan LarsG, fast nu med version 2.0 tilläggspaket med uppgradering - dvs utan komma!

```
SQL = "UPDATE Users SET username='" & Request.Form("username") & "', "
SQL = SQL & " password='" & Request.Form("password") & "', "
SQL = SQL & " name='" & Request.Form("name") & "', "
SQL = SQL & " initials='" & Request.Form("initials") & "', "
SQL = SQL & " email='" & Request.Form("email") & "'"
SQL = SQL & " WHERE id=" & id
```

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

## #8 — LarsG, 2001-07-05T19:22Z

Det var inte det jag menade. Det jag tänkte på var de ADO-anrop du gör, dvs execute eller hur det nu ser ut (+ lite kod omkring).

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

## #9 — Pace, 2001-07-05T19:25Z

Okej, my misstake ;)
Här kommer koden:

```
   databasFil = "login.mdb"
   Set Connect = Server.CreateObject("ADODB.Connection")
   Connect.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath(databasFil)
   Set rs = Server.CreateObject("ADODB.Recordset")

   ...

SQL = "UPDATE Users SET username='" & Request.Form("username") & "', "
SQL = SQL & " password='" & Request.Form("password") & "', "
SQL = SQL & " name='" & Request.Form("name") & "', "
SQL = SQL & " initials='" & Request.Form("initials") & "', "
SQL = SQL & " email='" & Request.Form("email") & "'"
SQL = SQL & " WHERE id=" & id

Connect.Execute(SQL)

rs.Update
rs.Close

%>
```

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

## #10 — @nders, 2001-07-05T19:27Z

ta bort nedan fetmarkerade rader, de skall inte vara där:

```
[b]Set rs = Server.CreateObject("ADODB.Recordset")[/b]
...

SQL = "UPDATE Users SET username='" & Request.Form("username") & "', "
SQL = SQL & " password='" & Request.Form("password") & "', "
SQL = SQL & " name='" & Request.Form("name") & "', "
SQL = SQL & " initials='" & Request.Form("initials") & "', "
SQL = SQL & " email='" & Request.Form("email") & "'"
SQL = SQL & " WHERE id=" & id

Connect.Execute(SQL)

[b]rs.Update
rs.Close[/b]
```

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

## #11 — Pace, 2001-07-05T19:37Z

Tackar!

Så följande

```
Set rs = Connect.Execute(SQL)
```

Gör skapar alltså ett recordset utan  Set rs = Server.CreateObject("ADODB.Recordset")?

:q

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

## #12 — LarsG, 2001-07-05T19:49Z

Set rs = Connect.Execute(SQL)

Ja det skapaas ett recordset vars egenskaper man inte kan ändra. Dvs, om man bara vill hämta data är det onödigt att först skapa ett recordset med server.createobjec.

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

## #13 — Vide, 2001-07-05T23:06Z

Men kör du bara en update så skall du inte köra en set, det är bara när du hämtar data som du behöver skapa ett recordset (antingen via execute eller manuelt skapande av detta), så du behöver bara exekvera såhär:

```
Connect.Execute(SQL)
```

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

## #14 — no1daag, 2001-07-06T10:23Z

Vill Du inte skriva koden själv så kan du testa denna kodgenerator <http://www.able-consulting.com/ecodegen/> 

Har inte hunnit testa den ännu på riktigt men det ser bra ut när koden kommer ut.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10432-finn-fem-fel
