---
title: "UPDATE som inte fungerar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11190-update-som-inte-fungerar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "klementin"
published: "2001-08-17T15:28:00.000Z"
updated: "2001-08-19T20:34:00.000Z"
replies: 13
views: 361
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/11190-update-som-inte-fungerar"
---

# UPDATE som inte fungerar

## #1 — klementin, 2001-08-17T15:28Z

Hej!
Mitt första inlägg här på sidan och jag hoppas att jag inte gör bort mig nu...

Jag har en enkel access databas med fält som ID (räknare), Efternamn (text), Förnamn (text), Telefonnummer (tal). 

Jag har en sida som visare upp detta i INPUT rader där varje rad har fått samma ID som det som står i databasen.

När man ändrar värdet i någon av INPUT fälten och trycker på en UPDATE-knapp skall dessa uppgifter uppdatera \*döh\* men inga uppdateringar händer?!

Här är koden på sidan som visar databasens innehåll:

\<form action="./update.asp" method="POST"\>

\<table border="0" cellpadding="1" cellspacing="1" bgcolor="#111111"\>
\<tr class="text" bgcolor="#eeeeee"\>
\<td\>\<b\>Efternamn:\</b\>\</td\>
\<td\>\<b\>Förnamn:\</B\>\</td\>
\<td\>\<b\>Telefon:\</b\>\</td\>
\</tr\>

\<%
Dim Conn
Dim rs
Dim sql

SQLDBPath = Server.MapPath("\\index\\db\\webusers.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SQLDBPath & ";"
Set rs = Conn.Execute("SELECT \* FROM UserInfo Order by EfterNamn Asc")
%\>

\<tr class="text" bgcolor="#ffffff"\>
\<td\>\<input type="text" name="EfterNamn" value="\<%= rs("EfterNamn").Value %\>"\>\<input type="text" name="UserId" value="\<%= rs("Id").Value %\>"\>\</td\>
\<td\>\<input type="text" name="FörNamn" value="\<%= rs("FörNamn").Value %\>"\>\<input type="text" name="UserId" value="\<%= rs("Id").Value %\>"\>\</td\>
\<td\>\<input type="text" name="Telefon" value="\<%= rs("Telefon").Value %\>"\>\<input type="text" name="UserId" value="\<%= rs("Id").Value %\>"\>\</td\>
\</tr\>

\<%
rs.MoveNext
Loop
%\>

\<input type="Submit" value="Uppdatera"\>

\--------------------------------------
Och här är koden som skall göra uppdateringen:

\<%
Dim Conn
Dim SQL
Dim SQLDBPath

SQLDBPath = Server.MapPath("\\index\\db\\webusers.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SQLDBPath & ";"

SQL = "UPDATE UserInfo SET " 
SQL = SQL & "EfterNamn = '" & Request.Form("EfterNamn") & "' "
SQL = SQL & "FörNamn = '" & Request.Form("FörNamn") & "' "
SQL = SQL & "Telefon = '" & Request.Form("Telefon") & "' "
SQL = SQL & "WHERE ID LIKE '" & request.Querystring("UserId") & "' "

Conn.Execute(SQL)

Conn.Close
Set Conn = nothing
%\>

\--------------------------------------
Tacksam för svar!

Ps.
Jag har sökt på detta forumet men inte fattat något av det jag har hittat :-)
Ds.

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

## #2 — LarsG, 2001-08-17T15:41Z

```
SQL = "UPDATE UserInfo SET " 
SQL = SQL & "EfterNamn = '" & Request.Form("EfterNamn") & "', "
SQL = SQL & "FörNamn = '" & Request.Form("FörNamn") & "', "
SQL = SQL & "Telefon = '" & Request.Form("Telefon") & "' "
SQL = SQL & "WHERE ID = " & request.Querystring("UserId") 

Conn.Execute SQL
```

Jag har lagt till ett komma mellan kolumnerna i set. Då kolumnen id är numerisk så går det inte att använda like.

Välkommen hit.

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

## #3 — klementin, 2001-08-17T15:56Z

Oj, tack för ett snabbt svar men det fungerar ialla fall inte. Får felmed.:

Syntaxfel (operator saknas) i frågeuttrycket 'ID ='.

Hajar nada ;-)

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

## #4 — @nders, 2001-08-17T16:10Z

då får du inget värde från request.Querystring("UserId"), kolla att det verkligen är UserId den heter.

red: jag ska väl inte vara sämre jag; **välkommen hit!** :)

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

## #5 — emission, 2001-08-17T16:17Z

1\. FORM-method är POST så det ska vara request.**form**("UserID"), såvida man inte lägger med UserID i FORM-action.
2\. Det ska bara vara ett formulärfält som heter UserID.
3\. Det bör vara av typen "hidden".

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

## #6 — LarsG, 2001-08-17T16:17Z

Du använder ju post i ditt formulär och jag ser inte att du har någon querystring med i din action. Om du använder post så hamnar alla värden i request.form.

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

## #7 — klementin, 2001-08-17T16:55Z

Oj, snacka om guldforum!!!

Nu har jag fått detta att fungera så länge det bara finns en person upplagd i ddatabasen. Lägger man till en ny så blir nu det felmed. när man uppdateras:

Syntaxfel (komma) i frågeuttrycket 'ID = 68, 112'.

Knasigt va?!

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

## #8 — LarsG, 2001-08-17T17:05Z

Nej, det är inte så konstigt. I och med att du har flera fält med samma namn så kommer värdena som finns i dessa att slås i hop till en kommaseparerad lista när du använder request.form("userid")

Vill du uppdatera alla användare eller vill du att man skall kunna välja att bara uppdatera en specifik, dvs att du har en knapp/länk per användare?

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

## #9 — klementin, 2001-08-17T17:43Z

Jag vet inte. Vill mest kunna uppdatera till att börja med men jag tar gärna emot båda alternativen så får jag se vilket som passar mig bäst.

Den frågvise novisen

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

## #10 — jorgen, 2001-08-17T19:06Z

Hej!

Om du gör en admin och hämtar alla poster i databasen. 

Hoppas jag fattat dig rätt nu :e

SQL = "SELECT \* FROM tabell ORDER BY Id"
Set RS = Connection.Execute(SQL)

Do while not RS.EOF

\<%=RS("Id")%\>
\<%=RS("Fornamn")%\>
\<%=RS("Efternamn")%\>
\<%=RS("Telefonnummer")%\>

\<p\>\<a href="Uppdateringssidan.asp?Id=\<%=RS("Id")%\>"\>Ändra Posten\</a\>

RS.MoveNext
Loop

sedan gör du uppdateringen:

SQL = "UPDATE UserInfo SET " 
SQL = SQL & "EfterNamn = '" & Request.Form("EfterNamn") & "' "
SQL = SQL & "FörNamn = '" & Request.Form("FörNamn") & "' "
SQL = SQL & "Telefon = '" & Request.Form("Telefon") & "' "
SQL = SQL & "WHERE ID = " & request.Querystring("Id") & " "

Mvh Jörgen

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

## #11 — klementin, 2001-08-18T13:46Z

Tack för alla svar!

Ska prova detta strax (är lite bakis :X , så vi får väl se om jag kan träffa rätt på tangenterna).
/K

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

## #12 — klementin, 2001-08-18T14:19Z

Den skickar inte in det nya uppgifterna i databasen, däremot så tar den bort alla uppgifterna för den personen. Databasen tillåter dubbletter.

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

## #13 — jorgen, 2001-08-18T18:45Z

Hej!

Du får göra ett formulär där du andrar dina uppgifter.

**GetUsers.asp**
\<%
SQL = "SELECT \* FROM tabell ORDER BY Id"
Set RS = Connection.Execute(SQL)

Do while not RS.EOF %\>

\<%=RS("Id")%\>
\<%=RS("Fornamn")%\>
\<%=RS("Efternamn")%\>
\<%=RS("Telefonnummer")%\>

\<p\>\<a href="Uppdateringssidan.asp?Id=\<%=RS("Id")%\>"\>Ändra Posten\</a\>

\<%
RS.MoveNext
Loop

RS.Close()
Set RS = Nothing

%\>

**Uppdateringssidan.asp**

\<%
SQL = "SELECT \* FROM tabell WHERE Id = " & Request.Querystring("Id")
Set RS = Connection.Execute(SQL)
%\>

\<form action="update.asp" method="post"\>

\<input type="hidden" name="Id" value="\<%=RS("Id")%\>"\>

\<input type="text" name="Fornamn" value="\<%=RS("Fornamn")%\>"\>

\<input type="text" name="Efternamn" value="\<%=RS("Efternamn")%\>"\>

\<input type="text" name="Telefonnummer" value="\<%=RS("Telefonnummer")%\>"\>

\<input type="submit" value="Uppdatera"\>

\</form\>

**update.asp**

\<%

SQL = "UPDATE UserInfo SET " 
SQL = SQL & "EfterNamn = '" & Request.Form("EfterNamn") & "' "
SQL = SQL & "FörNamn = '" & Request.Form("FörNamn") & "' "
SQL = SQL & "Telefon = '" & Request.Form("Telefon") & "' "
SQL = SQL & "WHERE ID = " & Request.Form("Id") & " "

Connection.Execute(SQL)

%\>

Otestad kod som är lite snabbt ihopslängd. Du får lägga till din connection sträng till koden samt connection.close.

r: oj vad slarvfel man gjort. Hoppas nya forumet har srörre textarea :e

mvh Jörgen

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

## #14 — klementin, 2001-08-19T20:34Z

Jag provade detta och vet du vad... det fungerade (efter några rättningar av slarvfel). Stort tack för all hjälp!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11190-update-som-inte-fungerar
