---
title: "sökfunktion i mySQL med asp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/124670-sökfunktion-i-mysql-med-asp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jake"
published: "2005-03-18T13:30:04.000Z"
updated: "2005-03-18T15:55:49.000Z"
replies: 8
views: 355
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/124670-sökfunktion-i-mysql-med-asp"
---

# sökfunktion i mySQL med asp

## #1 — jake, 2005-03-18T13:30Z

hej,
Snart verkar allt funka som det ska, men får ett felmeddelande när jag lägger en ett sökformulär på en sida
så hoppas det finns någon som inte har tröttnat på frågor...

Får felmeddelande
Microsoft OLE DB Provider for ODBC Drivers error '80040e21' 
ODBC driver does not support the requested properties.

som pekar på rad 31

  oRecSet.Open SQLStmt, strConn, 3, 1

edit: markerade raden

i följande kod.

Det är när jag lägger till sökformuläret längst ner i koden som det blir fel. Utan det fungerar det...

```
<!--#include file="../settings.inc.asp"-->

<table width="570" border="0" cellspacing="0" cellpadding="0">

<tr>
				<td width="80" align="left">Inlagd</td>
				<td width="60" align="left">Arrangör</td>
				<td width="230" align="left">Uppgift</td>
				<td width="120" align="left">Vinst</td>
				<td width="80" align="left">Slutdatum</td>

			</tr>
<%

Const NumOfSites = 10

Function ListSites(SQLStmt, NumOfSites, startID)
  Dim olddate
  Dim writtentable

  Set oRecSet = Server.CreateObject("ADODB.Recordset")
  SQLStmt2 = "SELECT COUNT(*) as Antal FROM vinsttips"
  oRecSet.Open SQLStmt2, strConn, 3, 3
  intAntal = oRecSet("Antal")
  oRecSet.Close

  Alla = intAntal / NumOfSites
  Alla = int(Alla) -- 1
  Sida = startID / NumOfSites
  Sida = int(Sida) -- 1

                Set oRecSet = Server.CreateObject("ADODB.Recordset")
'fel >            oRecSet.Open SQLStmt, strConn, 3, 1

  If oRecSet.EOF = False Then

	Do While oRecSet.EOF = False
		If olddate <> oRecSet("datum") Then

			writtenTable = 0
		 %>
		
		
			
		<%End If  '' olddate <> oRecSet("datum") %>
		
  			<tr>
				<td width="80" align="left"><%=oRecSet("datum")%></td>
				<td onClick=window.open("<%=oRecSet("url")%>"); width="60" align="left" onmouseover="this.className='linktab'; window.status='<%=oRecSet("url")%>';return true;" onmouseout="this.className='linktabell'; window.status='' "><%=oRecSet("arrangor")%></td>
				<td onClick=window.open("<%=oRecSet("direkturl")%>"); width="230" align="left" onmouseover="this.className='linktab'; window.status='<%=oRecSet("direkturl")%>';return true;" onmouseout="this.className='linktabell'; window.status='' "><%=oRecSet("uppgift")%></td>
				<td width="120" align="left"><%=oRecSet("vinst")%></td>
				<td width="80" align="left"><%=oRecSet("slutdatum")%></td>

			
		<%	
		olddate = oRecSet("datum")
		oRecSet.MoveNext

		If oRecSet.EOF = 0 Then
			If olddate <> oRecSet("datum") Then
				Response.write "</Table>" & vbcrlf
				writtenTable = 1
			End If
		End If
  	
	Loop

	If (writtenTable = 0 AND oRecSet.EOF = True) Then
		Response.write "</TABLE>" & vbcrlf
	End If

	If oRecSet.EOF = False Then
		newdate = oRecSet("datum")
	Else
		newdate = "nothing"
	End If

	Response.Write "<br>Sida <b>" & Sida & "</b> av <b> " & Alla & "</b><br>"
	Response.write "<b><a class='pilar' title='Förra sidan' href='" & Request.ServerVariables("SCRIPT_NAME") & "?prev=" & startID - NumOfSites & "'>&#60;&#60; &nbsp;&nbsp;</a>"
	Response.write "---"
	Response.write "<a class='pilar' title='Nästa sida' href='" & Request.ServerVariables("SCRIPT_NAME") & "?next=" & startID + NumOfSites & "'>&nbsp;&nbsp; &#62;&#62; </a></b>"

  Else  ''(If oRecSet.EOF = False)
	Response.write "Slut<br><br>"
	Response.write "<b><a title='Förra sidan' href='" & Request.ServerVariables("SCRIPT_NAME") & "?prev=" & startID - NumOfSites & "'>&#60;&#60; &nbsp;&nbsp;</a>"
	Response.write "---"
	Response.write "<a title='Från början' href='" & Request.ServerVariables("SCRIPT_NAME") & "'>&nbsp;&nbsp; &#62;&#62;</a></b>"

  End If ''(If oRecSet.EOF = False)

  oRecSet.Close
  Set oRecSet = Nothing	

End Function ''ListSites()

%>
<script language="javascript">
function Validate()
{

	if (document.addsite.url.value =="http://")
	{
		alert("Du glömde länken");
		document.addsite.url.focus();
		return false;
	};
	
	if (document.addsite.kommentar.value =="Kommentar")
	{
		alert("Du har inte skrivit någon kommentar");
		document.addsite.kommentar.focus();
		return false;
	};

	if (document.addsite.namn.value =="Ditt namn")
	{
		alert("Du glömde ditt namn");
		document.addsite.namn.focus();
		return false;
	};

};
</script>

<%

 Dim startID
 startID = 0

 If Request.QueryString("next") <> "" Then
    startID = Request.QueryString("next")
 End If

 If Request.QueryString("prev") <> "" Then
    startID = Request.QueryString("prev")
 End If

 If startID < 0 Then
    startID = 0
 End If

 strPattern = Request.Querystring("search")

 strPattern = Replace(strPattern, "'", "''", 1, -1, 1)
 strPattern = Replace(strPattern, "´", "", 1, -1, 1)
 strPattern = Replace(strPattern, "`", "", 1, -1, 1)

 If Request.Querystring("search") = "" Then
	SQLStmt = "select * from vinsttips order by id desc LIMIT " & startID & "," & NumOfSites
 	ListSites SQLStmt, NumOfSites, startID
 Else
	Response.Write "<center><b>Listar max 10 sökresultat på " & strPattern & "</b><br><br>" &vbcrlf
	SQLStmt = "select * from vinsttips WHERE rubrik LIKE '%" & strPattern & "%' order by id desc LIMIT 0,10"
 	ListSites SQLStmt, NumOfSites, startID
 End If
%>
  <form action="vinsttips.asp" method="GET" name="Formen">
      <input type="text" name="search" size="20" maxlength="30">&nbsp<input type="image" src="images/sok.gif" title="Sök efter en site" align="absmiddle" border="0">
   </form>
  
  </tr>
			</table>
```

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

## #2 — @nders, 2005-03-18T13:34Z

Vad innehåller startID?

(markera gärna raden felmeddelandet pekar på i koden, så det är lättare för oss att hitta)

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

## #3 — tydal, 2005-03-18T13:34Z

Skriv ut SQLStmt så du ser vad den innehåller (response.write).

Vad betyder 3,1 i slutet? Ser att du har skrivit 3,3 på ett annat ställe.

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

## #4 — jake, 2005-03-18T14:07Z

startID definieras i sista asp kodstycket efter javascriptet...

vet inte exakt skillnaden på 3,1 och 3,3 då jag har fått en kod som jag redigerar i men blir samma fel även om det står 3,3...

hm... då jag skriver ut:

```
Response.write SQLStmt
```

så skrivs ändå inte ut något mer på sidan...

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

## #5 — tydal, 2005-03-18T14:10Z

Tja, då är det ju inte så konstigt längre. För SQLStmt borde väl innehålla något?

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

## #6 — @nders, 2005-03-18T14:11Z

> **jake skrev:**
>
> startID definieras i sista asp kodstycket efter javascriptet...

Ja, men vad innehåller variabeln?

> vet inte exakt skillnaden på 3,1 och 3,3 då jag har fått en kod som jag redigerar i men blir samma fel även om det står 3,3...

 <http://www.devguru.com/technologies/ado/quickref/recordset_open.html>

> hm... då jag skriver ut:
> 
>
>
> ```
> Response.write SQLStmt
> ```
>
> 
> så skrivs ändå inte ut något mer på sidan...

Var lägger du den kodraden då?

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

## #7 — jake, 2005-03-18T14:53Z

> **@nders skrev:**
>
> > **jake skrev:**
> >
> > ```
> > Response.write SQLStmt
> > ```
> >
> > 
> > så skrivs ändå inte ut något mer på sidan...
>
> Var lägger du den kodraden då?

oj, jag lade den nog på fel ställe. När jag lägger den i en egen container skriver den ut:

select \* from vinsttips order by id desc LIMIT 0,10

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

## #8 — jake, 2005-03-18T15:04Z

hej igen, 
när jag läste igenom koden en gång till såg jag att det var fel kolumnnamnet som skulle söka i databasen...

```
from vinsttips WHERE rubrik LIKE  osv...
```

så det fungerar bättre. En kompletterande fråga är hur skulle jag skriva om jag ville söka flera kolumner ur databasen?

det fungerade inte med

```
from vinsttips WHERE rubrik OR kommentar LIKE osv..
```

där rubrik och kommentar är två kolumner i tabellen vinsttips.

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

## #9 — tydal, 2005-03-18T15:55Z

WHERE rubrik LIKE 'vad-du-vill' OR kommentar LIKE 'vad-du-vill'

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/124670-sökfunktion-i-mysql-med-asp
