---
title: "Fel Mess?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/94662-fel-mess"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "tomas21"
published: "2004-01-13T01:14:12.000Z"
updated: "2004-01-14T18:28:27.000Z"
replies: 15
views: 370
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/94662-fel-mess"
---

# Fel Mess?

## #1 — tomas21, 2004-01-13T01:14Z

Hej igen!

Få följande fel mess:

\----------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Too few parameters. Expected 1

upload.asp, line 27 
\----------------------------------------------------------------------------------

I följande kod:

```
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &_
        Server.MapPath("db/db1.mdb")
	Set objRS2 = Server.CreateObject("ADODB.Recordset")

	Addera = "Select * From " & Request.QueryString("tabell") &_
        " Where Refid = '" & Request.QueryString("id")'
	[B]objRS2.Open Addera, Connect, 3, 3 <--RAD 27[/B]
```

Har läst i tidigare inlägg att det har med SQL satsen att göra. Att man ska ha fnuttar när det är text osv.

Angående SQL satsen så är tabellen som ska markeras en Request.QueryString. Det jag gör är att skicka med tabellens namn i form av en QueryString. Refid är av typen tal.

Det sjuka med denna kod är att den fungerade på min bärbara med IIS men inte i servern som sidan ska ligga på.

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

## #2 — Jesper T, 2004-01-13T01:22Z

1\. Varför har du tabellnamnet i en querystring?
2\. Är Refid av typen tal(a) eller är det en sträng(b)?

```
a)
Addera = "Select * From " & Request.QueryString("tabell") &_
        " Where Refid = " & Request.QueryString("id")
b)
Addera = "Select * From " & Request.QueryString("tabell") &_
        " Where Refid = '" & Request.QueryString("id") &"'"
```

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

## #3 — tomas21, 2004-01-13T01:28Z

Jag har ju skrivit i inlägget att Refid är av typen tal iallafall i databasen. Jag vet inte om QueryStringen uppfattar allt som strängar. Varför jag har tabellens namn i en QueryString är pga att minimera koden samt att kunna använda den till andra projekt.

Men jag ska prova med dina förslag. Får se om  de funkar.

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

## #4 — tomas21, 2004-01-13T01:34Z

Jesper har provat båda men ingen fungerar. Den första är detsamma som jag angett i mitt första inlägg. Det andra alltså

\[kod\]
Addera = "Select \* From " & Request.QueryString("tabell") & " Where Refid = '" &\_
Request.QueryString("id") &"'"
\[kod\]

Ger följande felmedelande:

\----------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

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

upload.asp, line 27
\----------------------------------------------------------------------------------

Fattar inte vad som är felet!

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

## #5 — Jesper T, 2004-01-13T01:47Z

Börja med att skriva ut SQL:en

```
Addera = "Select * From " & Request.QueryString("tabell") & " Where Refid = '" &_
Request.QueryString("id") &"'"
Response.write Addera
Response.end
```

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

## #6 — @nders, 2004-01-13T05:18Z

```
Addera = "Select * From " & Request.QueryString("tabell") & " Where Refid = " &_
Request.QueryString("id")
```

Då ID är ett talfält i tabellen ska du inte ha apostrofer runt fältvärdet.

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

## #7 — Jesper T, 2004-01-13T06:09Z

<http://www.webforum.nu/showthread.php?s=&postid=779332#post779332> ;)

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

## #8 — tomas21, 2004-01-13T11:42Z

Jesper jag får detta när jag använder koden:

```
Addera = "Select * From " & Request.QueryString("tabell") &_
        " Where Refid = '" & Request.QueryString("id") &"'"
Response.write Addera
Response.end
```

Uskrift i webbläsaren:

Select \* From Sekion4 Where Refid = '169'

Alltså detta är inget fel mess utan bara en utskrift av Addera. Men jag får inte det att fungera fortfarande.

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

## #9 — Engine^, 2004-01-13T11:46Z

Som **@nders** skrev... inga apostrofer kring ett numeriskt värde.

```
Addera = "SELECT * FROM " & Request.QueryString("tabell") & " WHERE Refid = " & Request.QueryString("id")
```

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

## #10 — tomas21, 2004-01-13T11:52Z

Skit skumt!

Igår när jag provade koden :

```

Addera = "Select * From " & Request.QueryString("tabell") &_
        " Where Refid = " & Request.QueryString("id")
```

Fick jag felet:
\----------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Too few parameters. Expected 1

upload.asp, line 27 
\----------------------------------------------------------------------------

Men nu när jag provar samma kod i servern så fungerar det. Verligen skumt.

I mitt första inlägg i denna tråd skrev SQL satsen med apostrofer att det gav samma mess. Men jag använde då av samma kod som i detta inlägg. Varför jag tog med fel kod var pga jag  var förvirrad så sent som det var igår  ;) 

Vi får väl se hur länge min kod kommer att fungera. Förresten jag använder swebase webbhotell. Kan probleme ligga i deras server?

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

## #11 — Engine^, 2004-01-13T12:05Z

*Too few parameters* kan ha berott på att du inte hade något i *id*, som du plockar ur din querystring.

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

## #12 — Jesper T, 2004-01-13T12:08Z

Idé kan även vara att byta ut din "Microsoft Access Driver" till "Microsoft Jet".

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

## #13 — @nders, 2004-01-13T12:09Z

*Too few parameters - expected x* betyder oftast att man har skrivit x objektnamn fel i sin fråga, dvs skrivit fältnamn som inte finns.

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

## #14 — tomas21, 2004-01-13T12:29Z

Det måste vara nåt sånt.

Jag ha en fråga till. Koden som jag har är till för ett upload/delete script. När jag laddar upp filer tex bilder hamnar de i roten. Men hur gör jag om jag vill att de ska hamna i en mapp istället. Koden är:

```
	file=RecSet("Bild")

	Set fso = CreateObject("Scripting.FileSystemObject")
	Set fileObject = fso.GetFile(Server.MapPath("db/" & file))
```

Filens namn hämtas ur databasen  och läggs i variabeln file. Mappen som filerna ska ligga i heter db. Säg att scriptet ligger i mappen test. Hur gör man om man ska ha filerna i root/test men koden fortfarande i mappen test.

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

## #15 — Jesper T, 2004-01-13T13:21Z

Du borde kunna göra något liknande: 

```
Server.MapPath("../db/root/test/" & file
```

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

## #16 — tomas21, 2004-01-14T18:28Z

Tack Jesper funkar fint.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/94662-fel-mess
