webForumDet fria alternativet
Logga in / Bli medlem

Sök Problem!!

ASP

7 svar · 411 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Trådstart#1

Hej
Jag har fått problem med ett sökscript
Följande kod använder jag:

<%
Dim Con
Dim SQL
Dim RS

Set Con = Server.CreateObject("ADODB.Connection") 
Con.Open "DBQ=" & Server.MapPath("../db/databas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" 
%>
<html>
<head>

</head>
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000" style="font-family: Verdana; font-size: 10pt">
<table border="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="130" id="table1">
  <tr>
    <td width="100%" style="border-top-style: none; border-top-width: medium" class="td2">
<form action="sok.asp" method="post">
<font face="Verdana">
<input class="form" type="text" name="sokord" size="17">
<input class="knapp" type="submit" value="Sök"><br>
&nbsp;</font></form>
    </td>
  </tr>
  <tr>
    <td width="100%" class="rum" style="font-size: 10pt; font-family: Verdana"></td>
  </tr>
</table>
<font face="Verdana" size="2">

<%...%>
<%
If Request.Form("sokord") <> "" Then

    Response.Write "<table border=0 cellpadding=0 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=400>"
    Response.Write "<tr>"
    Response.Write "<td width=100% class=rubrik1 style=border-style: solid; border-width: 1>"
    Response.Write "Sökningen efter <i>" & Request.Form("sokord") & "</i> gav följande träffar.<br>" & vbCrLf
    Response.Write "</td>"
    Response.Write "</tr>"
    Response.Write "<tr>"
    Response.Write "<td width=100% style=border-top-style: solid; border-top-width: 1 class=td2>"
    SQL = "Select * from spelare Where Text Like '%" & Request.Form("sokord") & "%' "
    SET RS = Con.Execute(SQL)
    While Not RS.EOF
    Response.Write "<font class=text>"
    Response.Write "<b>" & RS("Rubrik") & "</b><br>" & vbCrLf
    Response.Write "" & RS("namn") & "&nbsp;"
    Response.Write "<a href='fakta.asp?visa=" & RS("ID") & "'>Läs mer!</a><br><br>"
    RS.MoveNext
    Wend
    RS.Close
    Set RS = Nothing
    Response.Write "</td>"
    Response.Write "</tr>"
    Response.Write "</table>"
    Response.Write "</div>"
End If
%>
</font>
</body>
</html>

<%...%>
<%
Con.Close
Set Con = Nothing
%>

problemet är att det man söker efter inte går att hitta, även att ordet man söker efter finns med i kolumnen i databasen den söker i.

Vad kan det vara för fel??

Tacksam för all hjälp jag kan få :r

Medlem sedan maj 2001431 inlägg
#2

hmm va knasigt!

du kan ju testa att skriva ut SQL-uttrycket och se om det verkar rimligt.

Medlem sedan juni 200032 967 inlägg
#3

Du borde få ett felmeddelande eftersom Text är ett reserverat ord (datatyp). Byt namn på fältet.

Dessutom: när du postar kod, gör det med [kod]-taggar, så blir saker och ting lättare att läsa.

Medlem sedan sep. 2005833 inlägg
#4

något felmeddelande får jag inte. Men när jag söker på tex "a" så kommer typ alla poster upp som finns i tabellen. men söker man på ett ord så kommer det inget fram, mer än att det inte hittades :OO

Medlem sedan juni 200032 967 inlägg
#5

Prova då att skriva ut sql-frågan, som Herman skriver. Prova att köra SQL-frågan direkt i Access, för att se om det blir någon skillnad.

Medlem sedan sep. 2005833 inlägg
#6

ok, men hur ska frågan se ut?? är nybörjare på detta :stud
Har provat med

SELECT *FROM spelare WHERE Text Like oskar;

men fick ingen träff, även att han ska finnas med :l
vet inte om jag skrev rätt??

Medlem sedan juni 200032 967 inlägg
#7

Den SQL-frågan borde inte heller fungera, du borde få ett felmeddelande alt. en förfrågan om att fylla i värde för okänt fält (oskar).

SQL-frågan bör se ut ungefär som i ditt inlägg ovan, och den bör fungera, under förutsättning att du får rätt data från formuläret. Så: skriv ut SQL-frågan med response.write, så är det lättare att se om något är fel.

vet inte om jag skrev rätt??

Nej, du saknar apostrofer runt sökordet, och också wildcards.

Medlem sedan sep. 2005833 inlägg
#8

ok, tror jag har hittat felet :OO Lite klantigt kanske ;)
Man sökte i fel kolumn, var därför jag inte fick några träffar.

Men tack för all hjälp :bire

385 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
122 ms — deklarationer (db)
126 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)