---
title: "update sats funkar ej!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8059-update-sats-funkar-ej"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "henrik2001"
published: "2001-02-05T19:48:00.000Z"
updated: "2001-02-08T19:48:00.000Z"
replies: 17
views: 313
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/8059-update-sats-funkar-ej"
---

# update sats funkar ej!

## #1 — henrik2001, 2001-02-05T19:48Z

hejsan...ett problem har uppstått!!
med den här koden ska det bli så här:
fälten ska uppdateras, men ALLA poster uppdateras då - det är bara där t.ex id=56, som det ska ändras.
när det "fungerade", alltså då ALLA poster uppdaterades, funkade det dessutom inte med en textarea.

koden för formuläret:

```
<%ID=Request.Querystring("ID")%>

<% Set conn=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.Recordset")
conn.Open "DSN=dsn20"

SQL="Select * From [Tabell] Where ID Like '" & ID & "%'"
rs.Open SQL, conn %>

<form method="POST" action="change.asp">
  <p>
  <input type="text" name="b1" size="20" value="<%=rs("[Fält1]")%>"><br>
  <input type="text" name="b2" size="20" value="<%=rs("[Fält2]")%>"><br>
  <input type="text" name="b3" size="20" value="<%=rs("[Fält3]")%>"><br>
  <input type="text" name="b4" size="20" value="<%=rs("[Fält4]")%>"><br>
  <textarea rows="20" cols="40" name="b5"><%=replace(rs("[Fält5]"),"<br>",vbCrLf)%></textarea><br>
  <input type="submit" value="Skicka!" name="send">
  <input type="reset" value="Rensa!" name="tabort"></p>
</form>
```

ovanstående kod funkar, dvs man får upp rätt uppgifter, men det är "change.asp" som inte funkar!

koden för sidan som anropas, change.asp:

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=dsn20"
conn.Execute("UPDATE [Tabell] SET [Fält1] = '" & Request.Form("b1") & "', [Fält2] = '" & Request.Form("b2") & "', [Fält3] = '" & Request.Form("b3") & "', [Fält4] = '" & Request.Form("b4") & "', [Fält5] = '" & Replace(Request.Form("b5"),vbCrLf,"<br>") & "'")
conn.Close
%>
```

obs, klammrarna runt Fält1 osv är bara tillfälliga, de tas bort sen, jag vet att det inte funkar med dem!
:)
tackar på förhand!

henrik

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

## #2 — @nders, 2001-02-05T19:52Z

först och främst måste du ju skicka med id från formulärsidan. sedan måste du också ha med en *where* i din sql-fråga.

jag föreslår att du slänger med id som ett hiddenfält i formuläret med namnet id och sedan plockar upp det med request.form("id").

mvh,

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

## #3 — henrik2001, 2001-02-06T06:51Z

det är just where-satsen som det är problem med, hidden fältet har jag fått in, men where-satsen går bara inte!
kan ngn vara snäll och skriva hela sql-frågan åt mej?

tackar på förhand

henrik

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

## #4 — jispir, 2001-02-06T08:05Z

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=dsn20"
conn.Execute("UPDATE [Tabell] SET [Fält1] = '" & Request.Form("b1") & "', [Fält2] = '" & Request.Form("b2") & "', [Fält3] = '" & Request.Form("b3") & "', [Fält4] = '" & Request.Form("b4") & "', [Fält5] = '" & Replace(Request.Form("b5"),vbCrLf,"<br>") & "' where id= '" & Request.Form("id") & "' ")
conn.Close
%>
```

\*ska funka\*

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

## #5 — @nders, 2001-02-06T08:06Z

om id är ett textfält.
annars får du ta bort apostroferna runt värdet i id.

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

## #6 — henrik2001, 2001-02-07T18:17Z

okej, tack för all hjälp, men det har inte löst sej än med textarea'n
jag har en sida...som ser ut så här:

```
<%ID=Request.Querystring("ID")%>
<% Set conn=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.Recordset")
conn.Open "DSN=dsn20"

SQL="Select * From [Tabell] Where ID Like '" & ID & "%'"
rs.Open SQL, conn %>

<form method="POST" action="change.asp">
<p>
<input type="text" name="b1" size="20" value="<%=rs("[Fält1]")%>"><br>
<input type="text" name="b2" size="20" value="<%=rs("[Fält2]")%>"><br>
<input type="text" name="b3" size="20" value="<%=rs("[Fält3]")%>"><br>
<input type="text" name="b4" size="20" value="<%=rs("[Fält4]")%>"><br>
<textarea rows="20" cols="40" name="b5"><%=replace(rs("[Fält5]"),"<br>",vbCrLf)%></textarea><br>
<input type="submit" value="Skicka!" name="send">
<input type="reset" value="Rensa!" name="tabort"></p>
</form>
```

den funkar perfekt, jag får upp alla värden. men den sida som anropas funkar ej:
(change.asp)

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=dsn20"
conn.Execute("UPDATE [Tabell] SET [Fält1] = '" & Request.Form("b1") & "', [Fält2] = '" & Request.Form("b2") & "', [Fält3] = '" & Request.Form("b3") & "', [Fält4] = '" & Request.Form("b4") & "', [Fält5] = '" & Replace(Request.Form("b5"),vbCrLf,"<br>") & "' where id= '" & Request.Form("id") & "' ")
conn.Close
%>
```

får följande felmeddelande:

```
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''test-text<br>test-text<br>test-text'. 

/change.asp, rad 4
```

man ska alltså kunna ändra uppgifterana som kommer upp i textarea'n, mendet går bara inte!
hoppas ngn vet svaret!

tack på förhand

henrik

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

## #7 — @nders, 2001-02-07T18:24Z

det råkar inte dyka med en apostrof från textarean?

apostrofer får man ju inte utan vidare slänga in i ett fält, eftersom apostrofer är strängomslutare i sql.

du måste ersätta alla apostrofer till två stycken enligt följande:

replace (strängen, "'", "''")

mvh,

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

## #8 — henrik2001, 2001-02-08T06:45Z

okej...men jag fattar inte hur du menar...det vore snällt om du kunde visa hela den raden du menar...

tack

henrik

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

## #9 — henrik2001, 2001-02-08T17:37Z

ingen som vill hjälpa mej?!?
:)

henrik

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

## #10 — @nders, 2001-02-08T18:14Z

joda, så klart att det är! :)

det blir lite svårt att hänga med på om man gör all replace i sql-strängen, så jag fixar lite variabler först för att förenkla.

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=dsn20"
b1 = replace(request.form("b1"),"'","''")
b2 = replace(request.form("b2"),"'","''")
b3 = replace(request.form("b3"),"'","''")
b4 = replace(request.form("b4"),"'","''")
b5 = replace(request.form("b5"),"'","''")
b5 = replace(b5,vbcrlf,"<br>")
id = request.form("id")
conn.Execute("UPDATE [Tabell] SET [Fält1] = '" & b1 & "', [Fält2] = '" & b2 & "', [Fält3] = '" & b3 & "', [Fält4] = '" & b4 & "', [Fält5] = '" & b5 & "' where id= '" & id & "' ")
conn.Close
%>
```

nånting sånt kanske? :)

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

## #11 — henrik2001, 2001-02-08T19:22Z

så här ser sidan ut, som visar uppgifterna...den funkar, man får upp rätt uppgifter.
men "update-sidan" change.asp - funkar fortfarande inte!!!
jag blir galen snart!

```
<form method="POST" action="change.asp" name="test">
  <p>
  <input type="hidden" name="id" value="<%=rs("ID")%>">
  <input type="text" name="b1" size="20" value="<%=rs("[Fält1]")%>" class="forms"><br>
  <input type="text" name="b2" size="20" value="<%=rs("[Fält2]")%>" class="forms"><br>
  <input type="text" name="b3" size="20" value="<%=rs("[Fält3]")%>" class="forms"><br>
  <input type="text" name="b4" size="20" value="<%=rs("[Fält4]")%>" class="forms"><br>
  <textarea rows="20" cols="40" wrap="virtual" name="b5" class="forms"><%=Replace(rs("[Fält5]"),"<br>",vbCrLf)%></textarea><br>
  <input type="submit" value="Skicka!" name="send" class="forms">
  <input type="reset" value="Rensa!" name="tabort" class="forms"></p>
</form>
```

change.asp...ska uppdatera uppgifterna....:

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=dsn20"
b1 = replace(request.form("b1"),"'","''")
b2 = replace(request.form("b2"),"'","''")
b3 = replace(request.form("b3"),"'","''")
b4 = replace(request.form("b4"),"'","''")
b5 = replace(request.form("b5"),"'","''")
b5 = replace(b5,vbcrlf,"<br>")
id = request.form("id")

<!--Rad 12 Nedan-->
conn.Execute("UPDATE Skivor SET [Fält1] = '" & b1 & "', [Fält2] = '" & b2 & "', [Fält3] = '" & b3 & "', [Fält4] = '" & b4 & "', [Fält5] = '" & b5 & "' Where ID = '" & id & "'")
conn.Close
%>
```

för följande felmeddelande:

```
Microsoft OLE DB Provider for ODBC Drivers fel '80040e07' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck. 

change.asp, rad 12
```

som sagt: jag blir galen snart, det funkar inte!!!
hoppas ngn kan hjälpa mej, innan jag blir galen asså!

tack på förhand

henrik

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

## #12 — @nders, 2001-02-08T19:23Z

är id av text- eller tal-typ?

om det är tal ska du inte ha apostrofer runt, alltså:

```
conn.Execute("UPDATE Skivor SET [Fält1] = '" & b1 & "', [Fält2] = '" & b2 & "', [Fält3] = '" & b3 & "', [Fält4] = '" & b4 & "', [Fält5] = '" & b5 & "' Where ID = " & id)
```

mvh,

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

## #13 — henrik2001, 2001-02-08T19:27Z

har jag fattat rätt nu: id-kolumnen i databasen är numrerad...alltså andra.asp?id=56 tex...fattade jag rätt?

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

## #14 — @nders, 2001-02-08T19:32Z

nja, jag vet inte vad du snackar om. :e

det är alltså din update-sats som är fel. vad har du för datatyper på alla dina fält i tabellen? 

jag vet ju liksom inte vad du får för data. är fältet av text-typ skall det vara apostrofer runt värdet, precis som du har skrivit på alla fält. är det av typen tal, skall det inte vara några apostrofer. är fältet av typen datum skall det omgärdas av brädgårdar. #.

mvh,

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

## #15 — henrik2001, 2001-02-08T19:36Z

id-kolumnen är av typen räknare
fyra st. av kolumnerna är av typen text
en kolumn är av typen PM

vad det så du mena?

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

## #16 — @nders, 2001-02-08T19:41Z

japp.

om du provar koden i mitt inlägg som börjar är id av text- eller tal-typ? funkar inte det då :q

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

## #17 — henrik2001, 2001-02-08T19:45Z

@nders: du ä bäääääst!!!
du anar inte hur många timmar jag har suttit med det där "lilla" problemet, du är bäst!!!!!

Tack! :)

henrik :)

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

## #18 — @nders, 2001-02-08T19:48Z

tack själv! :)

happy coding!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/8059-update-sats-funkar-ej
