---
title: "sql?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/121580-sql"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "freddssite"
published: "2005-02-02T14:50:44.000Z"
updated: "2005-02-03T01:59:09.000Z"
replies: 7
views: 317
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/121580-sql"
---

# sql?

## #1 — freddssite, 2005-02-02T14:50Z

Varför får jag detta fel...

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

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

när jag söker på ett efternamn, fungerar på att söka på de andra...

```
Where efternamn = '" & Request.Form("sokord") & "' or personnummer = '" & Request.Form("sokord") & "' or id = " & Request.Form("sokord") & ""
```

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

## #2 — @nders, 2005-02-02T14:51Z

Om ID är numeriskt kan du inte jämföra det med något som inte är ett tal.

Skriv ut färdig SQL-fråga så kan du se varför saker och ting inte funkar.

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

## #3 — jonne, 2005-02-02T14:52Z

Skriv ut din SQL sats med response.write så du ser att du verkligen får med de värden du vill.

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

## #4 — freddssite, 2005-02-02T15:02Z

man kan söka på id eller personnummer, men inte på efternamnet!

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

## #5 — J.N., 2005-02-02T16:15Z

HEJ!

Söker du på exakt hela efternamnet?

'Nilsson' ger träff, 'son' ger inga?

Du bör använda LIKE istället för lika med, eftersom det är sträng, men också, viktigast, stoppa % runt värdena, fungerar som \*.

Då får du träff på alla son-namn enligt ovanstående exempel.
... efternamn LIKE '%" & innehallsok & "%'

En bättre rubrik hade inte skadat!

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

## #6 — @nders, 2005-02-02T18:19Z

> **@nders skrev:**
>
> Om ID är numeriskt kan du inte jämföra det med något som inte är ett tal.

Är ID numeriskt?

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

## #7 — fredrik, 2005-02-02T19:42Z

...förlåt om jag går lite "Off Topic" men vill bara höja ett varningensfinger när jag ser din kod:
"...Where efternamn = '" & Request.Form("sokord")..."

som är helt öppen för SQL-injection. Kort innebär det att någon skulle kunna skriva egen SQL-kod som kör egna frågor mot din databas. Enklaste skyddet är att kontrollera '-tecknet, men att använda parameteriserade frågor är att föredra.

Läs gärna mer om säkerhetsrelaterade ämnen på [swesecure.com](http://www.swesecure.com) och särskilt om SQL-injection på:
<http://www.swesecure.com/?ID=dc6ea60a-12ae-4e7e-9e9c-59489ccafa90&IID=29a58b01-ca79-4877-b924-4f5da18d4a2a>

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

## #8 — Engine^, 2005-02-03T01:59Z

Re: sql?

> **freddssite skrev:**
>
> Varför får jag detta fel...
> 
> Microsoft OLE DB Provider for ODBC Drivers error '80040e10' 
> 
> \[Microsoft\]\[ODBC Microsoft Access Driver\] Too few parameters. Expected 1. 
> 
> 
> när jag söker på ett efternamn, fungerar på att söka på de andra...
> 
>
>
> ```
> Where efternamn = '" & Request.Form("sokord") & "' or personnummer = '" & Request.Form("sokord") & "' or id = " & Request.Form("sokord") & ""
> ```

Därför att du i en funktion, som du har inbakad i din fråga, saknar ett argument. Om det ingår data från tabellen som är **Null** kan du nog (eftersom du kör Access) komma undan med att köra Tools &raquo; Database Utilities &raquo; Compact and Repair Database...

För övrigt föreslår jag att du läser igenom föregående svar noga.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/121580-sql
