---
title: "Databas/QueryString problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12960-databas-querystring-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ConnyFox"
published: "2001-11-29T21:08:00.000Z"
updated: "2001-12-02T20:20:00.000Z"
replies: 26
views: 285
page: 1
pages: 2
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/12960-databas-querystring-problem"
---

# Databas/QueryString problem

_Sida 1 av 2._

## #1 — ConnyFox, 2001-11-29T21:08Z

Bör väll börja med att jag e VÄLDIGT nybörjare med asp och databaser så d kan vara djävligt grova missar här. behöver hur som helst veta vad som e fel på scriptet för d funkar inte o jag har noll koll.. ;)

Ok jag har tre olika sidor
Text_admin.asp, text_form.asp och text_change.asp

text_admin.asp
listar upp alla databas inlägg och ger varje inlägg en länk för att ändra innehållet.

```
<%
RecSet.MoveFirst
Do until RecSet.EOF
%>
<tr><td>
<img src="bilder/<%=RecSet("bild")%>.gif"> 
</td><td>
<b><%=RecSet("namn")%></b> : <%=RecSet("texterna")%>
</td><td width="50">
 - <a href="text_delete.asp?ID=<%=RecSet("ID")%>">Ta Bort</a><br>
 - <a href="text_form.asp?ID=<%=RecSet("ID")%>" target="iframe">Ändra</a>
<br>
</td></tr>

<%
RecSet.MoveNext
loop

RecSet.Close
connection.Close
%>
```

text_form.asp
ska ta imot id nummer från länken i admin till en form och sedan skicka vidare innehållet i formen och id nummret till en sida som ändrar inlägget i databasen

```
<form action="text_change.asp?ID=<% =Request.Querystring("id") %>" method="post">
<input name="texterna" size="20">
<a href="javascript:document.add.submit()"><img SRC="bilder/skicka.gif" name="skicka" value="Skicka" class="input"></a>
<a href="javascript:document.add.reset()"><img SRC="bilder/radera.gif" name="radera" value="Radera" class="input"></a>
</form>
```

text_change.asp
Ska alltså ändra inlägget med det id numret och kolumnen texter till det som skickas från text_form.asp

```
<%
database = Server.MapPath("text.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM texter WHERE texterna LIKE '"& Request.Querystring("id")("edit") &"'"
RecSet.Open SQL, Connection, 3, 3

RecSet.Uppdate
RecSet.Close
Connection.Close

response.redirect "text_admin.asp"
%>
```

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

## #2 — LarsG, 2001-11-29T21:50Z

Hur har du tänkt att det skall fungera när man gör ändringar? 
Nu lägger du aldrig ut några fält där man kan editera värdena.

t.ex.

text_form.asp

```
<%
response.buffer=true
database = Server.MapPath("text.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
set rs = connection.execute("select name,texterna from texter where id = " & request.querystring("id"))

if not rs.eof then
%>
 <form action='UPDATE.ASP' method='POST'>
 <input type='TEXT' name='NAMN' value='<%=rs("namn")%>'>
 <input type='TEXT' name='TEXTERNA' value='<%=rs("texterna")%>'>
 <input type='HIDDEN' name='ID' value='<%=request.querystring("id")%>'>
 <input type='SUBMIT' value='Uppdatera'>
<%
else
response.write "Den posten finns inte!"
response.redirect "text_admin.asp"
end if
rs.close
Connection.close
%>
```

text_change.asp

```
<%
database = Server.MapPath("text.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database

SQL = "Update texter set name = '" & replace(request.form("name"),"'","''") & "','" & _
 replace(request.form("name"),"'","''") & "'" & _
" WHERE id = " & Request.Form("id")

connection.execute sql,,128
Connection.Close

response.redirect "text_admin.asp"
%>
```

Första lektionen: Använd aldrig recordset för att göra uppdateringar.

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

## #3 — ConnyFox, 2001-11-29T22:08Z

tack men jag får ett error på denna raden, varför?

```
set RecSet = connection.execute("select name,texterna where id = " & request.querystring("id")
```

Kompileringsfel i Microsoft VBScript fel '800a03ee' 

')' förväntas. 

/StajlText 1.0/text_form.asp, rad 16 

set RecSet = connection.execute("select name,texterna where id = "')' & request.querystring("id")
\------------------------------------------------------------------^

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

## #4 — LarsG, 2001-11-29T22:27Z

Det står ju precis vad som är fel.

```
set RecSet = connection.execute("select name,texterna where id = " & request.querystring("id"))
```

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

## #5 — ConnyFox, 2001-11-29T22:34Z

Hehe jo jag har fixat d nu missade ett ")" ;)

men nu får jag ett annat fel..

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

\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (operator saknas) i frågeuttrycket 'texterna where id ='. 

/StajlText 1.0/text_form.asp, rad 6

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

## #6 — ConnyFox, 2001-11-29T22:37Z

Jag är som sagt nybörjare på detta o fattar typ ingenting ;) \*skyller på\* hehe

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

## #7 — jorgen, 2001-11-29T22:41Z

Hej, 

är fältet id av text eller numerisk typ?

red:

är det av texttyp bör det vara:

```
set RecSet = connection.execute("select name,texterna where id = '" & request.querystring("id") & "' ")
```

kolla också så att fälten är rättstavade

mvh Jörgen :)

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

## #8 — ConnyFox, 2001-11-29T22:47Z

Asså jag börjar fundera på om d kan vara så att sidan känner av att det sitter en inkompetent djävel här o ger mig massa fel bara för att djävlas!!

nu får jag detta..

Kompileringsfel i Microsoft VBScript fel '800a03ee' 

')' förväntas. 

/StajlText 1.0/text_form.asp, rad 6 

set RecSet = connection.execute("select name,texterna where id = '" & request.querystring("id")"'")
\-----------------------------------------------------------------------------------------------^

VAD E FEL? \*ARGH\* blir så trött på detta hehe \*dunkar huvudet i skärmen så webkameran flyger all världens väg\*

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

## #9 — LarsG, 2001-11-29T22:49Z

Det ser mer ut som om request.querystring("id") inte innehåller något värde. Du får kolla på den sida som länkar till text_form att det kommer med i länken.

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

## #10 — jorgen, 2001-11-29T22:49Z

Kolla på min kod ovan, du har glömt ett **&**

mvh Jörgen :)

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

## #11 — LarsG, 2001-11-29T22:50Z

Id är väl en räknare?

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

## #12 — ConnyFox, 2001-11-29T22:50Z

Detta är min kod nu, är nått fel?

\<%
response.buffer = true
database = Server.MapPath("text.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (\*.mdb)};dbq="& database
set RecSet = connection.execute("select name,texterna where id = '" & request.querystring("id") & "'")
if not RecSet.eof then
%\>

\<html\>
\<head\>
	\<title\>Untitled\</title\>
	\<link rel="stylesheet" href="mall.css"\>
\</head\>

\<body topmargin="0" leftmargin="0"\>

\<form action="text_change.asp" method="POST"\>
\<input type="TEXT" name="NAMN" value="\<%=rs("namn")%\>"\>
\<input type="TEXT" name="TEXTERNA" value="\<%=rs("texterna")%\>"\>
\<input type="HIDDEN" name="ID" value="\<%=request.querystring("id")%\>"\>
\<input type="SUBMIT" value="Uppdatera"\>
\<%
else
response.write "Den posten finns inte!"
response.redirect "text_admin.asp"
end if
rs.close
Connection.close
%\>

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

## #13 — jorgen, 2001-11-29T22:53Z

Med tanke på att koden från början var:

```
SQL = "SELECT * FROM texter WHERE texterna LIKE '"& Request.Querystring("id")("edit") &"'"
```

fick jag känslan av att id är av typen text, men det är nog högst troligt att querystringen är tom, precis som LarsG säger.

red: om värdet kommer från ett formulär enligt koden ovan bör det vara request.form("id") istället för request.querystring("id")

mvh Jörgen :)

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

## #14 — LarsG, 2001-11-29T22:54Z

Det beror på vad id är för datatyp. Om det är en räknare så skall du inte ha med apostrofer kring sökvärdet.

Sen så skapar du ett recordset som du kallar för recset men när du lägger ut värden i fälten så använder du namnet rs. Du får ändra så att det blir samma namn överallt.

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

## #15 — ConnyFox, 2001-11-29T22:55Z

Jao ID är en Räknare och den funkar som den ska!

Här är länken som länkar till text_form.asp

```
<a href="text_form.asp?ID=<%=RecSet("ID")%>" target="iframe">Ändra</a>
```

Det är för att text_form.asp ska veta vilket databas inlägg som skall ändras

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

## #16 — jorgen, 2001-11-29T23:00Z

okey, då ska det vara nästan så som LarsG skrev från början:

```
set RecSet = connection.execute("select name,texterna where id = " & request.form("id"))
```

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

## #17 — LarsG, 2001-11-29T23:02Z

Tabellnamnet kom aldrig med i select-frågan!

```
<%
response.buffer = true
database = Server.MapPath("text.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
set RecSet = connection.execute("select name,texterna [b] from texter [/b] where id = " & request.querystring("id") )
if not RecSet.eof then
%>

<html>
<head>
<title>Untitled</title>
<link rel="stylesheet" href="mall.css">
</head>

<body topmargin="0" leftmargin="0">

<form action="text_change.asp" method="POST">
<input type="TEXT" name="NAMN" value="<%=recset("namn")%>">
<input type="TEXT" name="TEXTERNA" value="<%=recset("texterna")%>">
<input type="HIDDEN" name="ID" value="<%=request.querystring("id")%>">
<input type="SUBMIT" value="Uppdatera">
<%
else
response.write "Den posten finns inte!"
response.redirect "text_admin.asp"
end if
rs.close
Connection.close
%>
```

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

## #18 — ConnyFox, 2001-11-29T23:10Z

haha vafan kan inte vara NÅGOT som e rätt i min kod \*asg\*

```
<%
response.buffer = true
database = Server.MapPath("text.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
set RecSet = connection.execute("select name,texterna FROM texter where id = " & request.querystring("id") )
if not RecSet.eof then
%>

<html>
<head>
	<title>Untitled</title>
	<link rel="stylesheet" href="mall.css">
</head>

<body topmargin="0" leftmargin="0">

<form action="text_change.asp" method="POST">
<input type="TEXT" name="NAMN" value="<%=rs("namn")%>">
<input type="TEXT" name="TEXTERNA" value="<%=rs("texterna")%>">
<input type="HIDDEN" name="ID" value="<%=request.querystring("id")%>">
<input type="SUBMIT" value="Uppdatera">
<%
else
response.write "Den posten finns inte!"
response.redirect "text_admin.asp"
end if
RecSet.close
Connection.close
%>

</body>
</html>
```

och länken som skickar en till sidan

```
<a href="text_form.asp?ID=<%=RecSet("ID")%>" target="iframe">Ändra</a>
```

hehe har gjort precis som ni skrivit men får ändå error..

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

\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (operator saknas) i frågeuttrycket 'id ='. 

/StajlText 1.0/text_form.asp, rad 6

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

## #19 — Vide, 2001-11-29T23:11Z

Se till att request.querystring("id") innehåller ett värde, annars blir det fel.

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

## #20 — ConnyFox, 2001-11-29T23:17Z

jo men d e väll det som den här länken gör?

```
<a href="text_form.asp?ID=<%=RecSet("ID")%>" target="iframe">Ändra</a>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12960-databas-querystring-problem  
Nästa sida: https://www.webforum.nu/amne/asp/12960-databas-querystring-problem/page2.md
