---
title: "Söken funkar inte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9025-söken-funkar-inte"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "streetrobban"
published: "2001-04-14T20:10:00.000Z"
updated: "2001-04-15T22:29:00.000Z"
replies: 5
views: 281
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/9025-söken-funkar-inte"
---

# Söken funkar inte

## #1 — streetrobban, 2001-04-14T20:10Z

Jag har en sök här som inte funkar riktigt. Jag har en sida som heter search.asp där man matar in vad man ska söka efter, den ser ut så här:

```
<form method="post" action="search2.asp">

<input type="text" name="search" class="input"><br>
<br>
<input type="submit" value=" Search " class="button">

</form>
```

Och såhär ser search2.asp koden ut, som inte funkar:

```
<!--#include file="inc_db.asp" -->

<% SQL = "SELECT * FROM news WHERE writer = " & Request.Form("search")
Set objRecSet = objConn.Execute(SQL)

if objRecSet.EOF Then
Response.Redirect("error.asp")
Else %>

<% Do Until ojbRecSet.EOF %>

<span class="topic"><b><%= objRecSet("topic")%></b></span><br>
<span class="news"><%= objRecSet("writer")%> - <%= objRecSet("date")%></span><br>
<%= objRecSet("news")%><br>
<br>

<% objRecSet.MoveNext
Loop %>

<% End if %>

<% objConn.Close
Set objRecSet = Nothing
Set objConn = Nothing %>
```

Mitt felmeddelande:

```
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10' 

[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades. 

/asp/news/search2.asp, rad 76
```

Vad är felet?

Sedan undrar jag hur man gör för att söka i flera kolumner (inte bara "writer" kolumnen, alltså alla kolumner i news tabellen), och göra så att den skriver ut poster som innehåller texten, typ om man söker på "spel" så kommer nyheter innehållande texten "spelade" och "spelar" upp. Hoppas någon förstår mig.

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

## #2 — streetrobban, 2001-04-14T20:17Z

Men vad dum jag är som söker efter att jag skrivit mitt inlägg. Nu fick jag det att funka. :r
Jag undrar dock hur man får texten man sökt på att bli fet (\<b\>\</b\> ). Ex.
Om jag söker på "ping" å den hittar en post med "pingvin" så ska det se ut såhär:
**ping**vin

jag undrar fortfarande hur man gör för att söka i hela tabellen nyheter.

\[Redigerat av streetrobban den 14 apr 2001\]

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

## #3 — LarsG, 2001-04-14T20:54Z

Jag förmodar att du har bytt till like. Sökning i flera kolumner

```
s = "'%" & Request.Form("search") & "%'"
<% 
SQL = "SELECT * FROM news " & _
" WHERE writer like " & s & _
"    OR news like " & s & _
"    OR topic like " & s
```

För att få fetstil (s definierat enligt ovan) 

```
<% Do Until ojbRecSet.EOF %>

<span class="topic"><b><%= objRecSet("topic")%></b></span><br>
<span class="news"><%= objRecSet("writer")%> - <%= objRecSet("date")%></span><br>
[b]
<%
n = replace(objRecSet("news"),s,"<b>" & s & "</b>")
%>
<%= n%><br>
[/b]
<br>

<% objRecSet.MoveNext
Loop %>
```

Ungefär något sådant.

Red: glömde en parenters

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

## #4 — streetrobban, 2001-04-15T00:40Z

Ok, nu ser min kod ut såhär:

```
<!--#include file="inc_db.asp" -->

<% sok = "'%" & Request.Form("search") & "%'" %>

<% SQL = "SELECT * From news " & _
" WHERE writer like " & sok & _
" OR news like " & sok & _
" OR topic like " & sok & _
" OR datum like " & sok
Set objRecSet = objConn.Execute(SQL)

if objRecSet.EOF Then
Response.Redirect("error.asp")
Else %>

<% Do Until objRecSet.EOF %>

<span class="topic"><b><%= objRecSet("topic")%></b></span><br>
<span class="date"><%= objRecSet("writer")%> - <%= objRecSet("datum")%></span><br>
<%= objRecSet("news")%><br>
<br>

<% n = replace(objRecSet("news"),sok,"<b>" & sok & "</b>") %>
<%= n %><br>

<% objRecSet.MoveNext
Loop %>

<% End if %>

<% objConn.Close
Set objRecSet = Nothing
Set objConn = Nothing %>
```

När jag söker skrivs hela nyheten (som sökordet finns med i) ut, men sedan blir det ett fel. Efter nyheten.

```
Körningsfel i Microsoft VBScript fel '800a005e' 

Ogiltig användning av Null: 'replace' 

/asp/news/search2.asp, rad 97
```

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

## #5 — LarsG, 2001-04-15T13:33Z

Det verkar som dina kolumner i databasen är odefinierade, innehåller null. Du kan lägga till en koll innan replace, men du borde nog se till att man alltid anger något värde för dessa kolumner.

```
<%
if  isNull(objRs("news")) then
    n = objRs("news")
else
n = replace(objRecSet("news"),sok,"<b>" & sok & "</b>") 
end if
%>
```

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

## #6 — OveRRidE, 2001-04-15T22:29Z

Jag har för mig.. att det kan vara detta som är problemet.. 
 I en sådan select-sats har det strulat för mig med.. 

testa detta

```
Dim strQuot
strQuot = Chr(39)

SQL = "SELECT * FROM news WHERE writer = " & strQuot & Request.Form("search")
```

Som sagt.. det kan vara det.. jag har FÖÖR mig det.. :) jaja ..

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/9025-söken-funkar-inte
