---
title: "Fel när jag ska hämta data!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/95773-fel-när-jag-ska-hämta-data"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfernstrom"
published: "2004-01-26T17:41:09.000Z"
updated: "2004-01-27T04:09:15.000Z"
replies: 24
views: 351
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/95773-fel-när-jag-ska-hämta-data"
---

# Fel när jag ska hämta data!

_Sida 1 av 2._

## #1 — magnusfernstrom, 2004-01-26T17:41Z

Hej hej!
När jag kör denna kod

```
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("forum.mdb")
SQL = "SELECT* FROM forum WHERE Id = '" & Request.Querystring("trad") & "'"
Set rs = db.Execute(SQL)
%>
<%
Do until rs.EOF
%>
<%=rs("Namn")%>
<%
rs.MoveNext
Loop
%>
```

Får jag detta meddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Data type mismatch in criteria expression. 

/slauson/db/test/las.asp, line 5 

Jag har prövat att skriva ut Querystringen och får då rätt värde!

Vad är fel?

Mvh Magnus Fernström

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

## #2 — M.Cheraghi, 2004-01-26T17:43Z

Om du tar bort enkelfjuttarna i SQL frågan på tabellen ID!
Fungerar det då? För jag antar att ID innehåller siffra/siffror
samt ha gärna ett mellanslag mellan SELECT och \*

```
SQL = "SELECT * FROM forum WHERE Id = " & Request.Querystring("trad") & ""
Set rs = db.Execute(SQL)
```

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

## #3 — magnusfernstrom, 2004-01-26T17:47Z

Visst serru, det fungerar utmärkt. Tack så mycket!

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

## #4 — M.Cheraghi, 2004-01-26T17:56Z

> **magnusfernstrom skrev:**
>
> Visst serru, det fungerar utmärkt. Tack så mycket!

Varsågod :) Markera som slutgiltigt svar om det fungerade!

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

## #5 — magnusfernstrom, 2004-01-26T18:10Z

Men nya problem har dykt upp :)
Jag postar dom här:

När jag ska posta nytt så får jag detta meddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Data type mismatch in criteria expression. 

/slauson/db/test/new.asp, line 5 

Koden ser ut så här:

```
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("forum.mdb")
SQL = "INSERT INTO forum (Namn,Rubrik,Inlagg,Svar) VALUES ('" & Request.Form("Namn") & "', '" & Request.Form("Rubrik") & "', '" & Request.Form("Inlagg") & "', '" & Request.Form("Svar") & "')"
Set rs = db.Execute(SQL)

Response.Redirect "forum.asp"
%>
```

Jag har 0 som standard värde på Svar i databasen, som är av typen Tal.

Om man postar ett nytt inlägg har Querystringen inget värde, och jag gissar att det är därför det spökar.

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

## #6 — @nders, 2004-01-26T18:13Z

Men alltså. Som M.Cheraghi skriver i sitt inlägg ovan, du skall icke ha apostrofer runt ett värde som tillhör ett fält av numerisk datatyp.

> Om man postar ett nytt inlägg har Querystringen inget värde, och jag gissar att det är därför det spökar.

Vilken querystring?

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

## #7 — M.Cheraghi, 2004-01-26T18:14Z

du skall ICKE ha enkelfjuttar kring dem som har siffra/siffror som värde :)

Ocksen om du har standardvärde 0 som sätts av databasen! Varför ens ha med det fältet i SQL frågan och definera värdet 0 när databasen endå kommer att tilldela värdet 0 för den kolumnen!

r:/ Marsvin + hårtrimmer = sant :)

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

## #8 — magnusfernstrom, 2004-01-26T18:16Z

Men alltså, ska jag då ha:
" & Request.Form("Svar") & " eller?

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

## #9 — @nders, 2004-01-26T18:18Z

Ja, alltså. ;)

& " på slutet ska du dock bara ha om du ska lägga till fler saker till strängen med sql-frågan (som i det här fallet, där du ska avsluta en parentes.)

Mvh

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

## #10 — M.Cheraghi, 2004-01-26T18:19Z

> **magnusfernstrom skrev:**
>
> Men alltså, ska jag då ha:
> " & Request.Form("Svar") & " eller?

Om typen på kolumnen är TAL / NUMBER och "Svar" innehåller numeriskt värde, så ja :)

r:/Marsvin + häcksax = sant
jag hänger inte med i svängarna!

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

## #11 — magnusfernstrom, 2004-01-26T18:20Z

> **@nders skrev:**
>
> Vilken querystring?

Oj, glömde att säga det.
Sidan som formuläret finns på har denna kod:

```
<input type="hidden" name="Svar" value="<%=Request.Querystring("svar")%>">
```

Och om man kommer från en "tråd sida" och ska svara på tråden, förljer Id numret med så man vet vad man svarat på :D

Om man däremot ska skriva nytt inlägg så är strängen tom, då är det ett svar.
Eller ja, de poster med värder 0 på svar är huvudtrådar.

Hur ska jag då lösa detta då?

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

## #12 — magnusfernstrom, 2004-01-26T18:21Z

> Om typen på kolumnen är TAL / NUMBER och "Svar" innehåller numeriskt värde, så ja

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

\[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error in INSERT INTO statement. 

/slauson/db/test/new.asp, line 5 

 :)

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

## #13 — magnusfernstrom, 2004-01-26T18:21Z

Nu har jag även tagit bort standardvärde 0 i databasen.

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

## #14 — @nders, 2004-01-26T18:22Z

Ok. Då är det en querystring på förra sidan, men inte nu längre ju. Nu kommer ju värdet från ett formulärfält. :)

Antingen så utelämnar du fältet svar ur SQL-frågan, eller så får du kolla att du får ett värde.

```
If request.form("svar") <> "" then svar=request.form("svar") else svar=0
```

Använd sedan *svar* istället för *request.form("svar")* i SQL-frågan.

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

## #15 — magnusfernstrom, 2004-01-26T18:26Z

Javisst, nu fungerar det!
Tack så hemskt mycket för hjälpen grabbar, och ursäkta om jag inte begriper allt :) ;)

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

## #16 — magnusfernstrom, 2004-01-26T18:55Z

Hej!
Ännu ett litet problem har dykt upp.

När man postat sitt svar vill jag att man ska skickas tillbkas till tråden man svarade i.

```
Response.Redirect "las.asp?trad=<%=request.querystring("trad")%>"
```

Denna kod fungerar inte, jag har även prövat att ta bort citationstecken mm. men det vill inte fungera.

Tacksam för svar // MF

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

## #17 — @nders, 2004-01-26T18:58Z

På vilket sätt fungerar det inte? Var finns värdet för *trad*? Varifrån hämtar du det?

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

## #18 — magnusfernstrom, 2004-01-26T19:05Z

Detta är den fullständiga koden:

```
<%
If request.form("Svar") <> "" then svar=request.form("Svar") else svar=0

Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("forum.mdb")
SQL = "INSERT INTO forum (Namn,Rubrik,Inlagg,Svar) VALUES ('" & Request.Form("Namn") & "', '" & Request.Form("Rubrik") & "', '" & Request.Form("Inlagg") & "', " & svar & ")"
Set rs = db.Execute(SQL)

Response.Redirect "las.asp?trad=<%=Request.Form("Svar")%>"
%>
```

Detta felmeddelande får jag:
Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/slauson/db/test/new.asp, line 9 

Response.Redirect "las.asp?trad=\<%=Request.Form("Svar")
\-------------------------------------------------^

När jag endast skriver \<%=Request.Form("Svar")%\> på sidan som ska sätta in datan i databasen och sedan skickar iväg från sidan med förmuläret får jag rätt värde, det vill säga trådens ID.

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

## #19 — @nders, 2004-01-26T19:07Z

Jag ber om ursäkt, det är jag som läser slarvigt. Du ska inte ha asp-contextswitchar (\<% %\>) inuti asp-kod, utan du ska konkatenera med &.

```
Response.Redirect "las.asp?trad=" & Request.Form("Svar")
```

Mvh

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

## #20 — magnusfernstrom, 2004-01-26T19:08Z

Och ja, det var fel innan. Jag hade Querystring istället för Form, men det funkar ändå inte!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/95773-fel-när-jag-ska-hämta-data  
Nästa sida: https://www.webforum.nu/amne/asp/95773-fel-när-jag-ska-hämta-data/page2.md
