Avatar billede Slettet bruger
08. marts 2007 - 10:30 Der er 5 kommentarer og
1 løsning

Søg i database problemer?

Hej.
Jeg har følgende kode som jeg synes burde virke, en der kommer intet resultat ud.. :-(

Formen:
<form action="result.asp" method="POST">
<input type="text" name="keyword" size="30"><input type="submit" name="Action" value="Søg">
</form>

ASP filen:
    <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

strKeyword = Request.Form("keyword")
strSQL = "SELECT * FROM seneste WHERE"
strSQL = strSQL & " (beskrivelse LIKE '" & strKeyword & "')"
strSQL = strSQL & " OR (overskrift LIKE '" & strKeyword & "')"
Set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/db/database.mdb")
rs.Open strSQL, strDSN, 1

If Not (rs.BOF Or rs.EOF) Then

    rs.PageSize = 15
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
%>
Og her skriver jeg resultat ud... Det virker da jeg bruger det til andet.. :-)
Avatar billede softspot Forsker
08. marts 2007 - 10:41 #1
Kan det være fordi du skal søge lidt "bredere". Hvis ja, så prøv at ændre disse to linier:

strSQL = strSQL & " (beskrivelse LIKE '" & strKeyword & "')"
strSQL = strSQL & " OR (overskrift LIKE '" & strKeyword & "')"


til:

strSQL = strSQL & " (beskrivelse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (overskrift LIKE '%" & strKeyword & "%')"
Avatar billede Slettet bruger
08. marts 2007 - 11:10 #2
Haha dough!!! Lige præcis.. Havde glemte at sætte % ind...
Men mange tak og send bare svar... :-)
Avatar billede Slettet bruger
08. marts 2007 - 11:32 #3
Kan jeg sorterer mere i mit udtræk og tilføje det?

Altså hvis jeg f.eks. vil have følgende ind?
tal < 2 og beskrivelse <> ""
Avatar billede softspot Forsker
08. marts 2007 - 13:34 #4
Ja, altså hvis du mener at de to sidste kriterier altid skal være opfyldt uanset hvad de to eksisterende kriterier så giver, så skal du tilføje dem med en AND, således:

strSQL = "SELECT * FROM seneste WHERE"
strSQL = strSQL & " ((beskrivelse LIKE '" & strKeyword & "')"
strSQL = strSQL & " OR (overskrift LIKE '" & strKeyword & "'))"
strSQL = strSQL & " AND tal < 2"
strSQL = strSQL & " AND beskrivelse <> ''"

bemærk paranteserne omkring de 2 første kriterier, da disse skal tælle som et samlet kriterie ifht. tal < 2 og at beskrivelse skal have indhold.
Avatar billede Slettet bruger
08. marts 2007 - 14:23 #5
okay.. kanon.. :-) Tak for det...
Avatar billede softspot Forsker
08. marts 2007 - 14:37 #6
Velbekomme og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester