Avatar billede remo27 Nybegynder
28. maj 2007 - 18:58 Der er 9 kommentarer og
1 løsning

søge funktion's hjælp

Hvem kan hjælpe mig, i min søgefunktion skal man ikke kunne søge på en person hvis feltet synlig ikke er vinget til i databsen

search.asp

<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
</head><body>
<br><br>
<center>
<%
' Henter værdien fra soeg.asp
strKeyword = Trim(Request.Form("Keyword"))

If Len(strKeyword) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    Response.Redirect("default.asp?emne=start")
Else
    ' Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, navn, postnr, city, lp FROM tblBrugerInfo WHERE "
strSQL = strSQL & " (navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (postnr LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (city LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (lp LIKE '%" & strKeyword & "%')"

' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/brugerinfo.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    ' Hvis der er fundet poster på søgningen
        Response.Write "<table border=0 cellspacing='2' cellpadding='2'>"
      Do While Not rs.EOF
      Response.Write "<tr><td><a href=""default.asp?emne=dpinfo&id=" & rs("id") & """>" & rs("navn") & "</a></td>"
      Response.Write "<td>" & rs("postnr") & "</td>"
      Response.Write "<td>" & rs("city") & "</td>"
      Response.Write "<td>" & rs("lp") & "</td>"
      Response.Write "<td>" & ("Ledig Plads")& "</td>"
        rs.MoveNext
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>
</center>
</body></html>
Avatar billede w13 Novice
28. maj 2007 - 19:01 #1
Prøv:
----------------------------------------
' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, navn, postnr, city, lp FROM tblBrugerInfo WHERE "
strSQL = strSQL & " (navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (postnr LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (city LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (lp LIKE '%" & strKeyword & "%') AND (synlig = 1)"
Avatar billede mitbrugernavn Praktikant
28. maj 2007 - 19:05 #2
nu ved jeg ikke hvad du har i synlig  - men prøv dette

strSQL = "SELECT ID, navn, postnr, city, lp FROM tblBrugerInfo WHERE "
strSQL = strSQL & " navn LIKE '%" & strKeyword & "%' and synlig <> '"&""&"' "
strSQL = strSQL & " OR postnr LIKE '%" & strKeyword & "%' and synlig <> '"&""&"' "
strSQL = strSQL & " OR city LIKE '%" & strKeyword & "%' and synlig <> '"&""&"' "
strSQL = strSQL & " OR lp LIKE '%" & strKeyword & "%' and synlig <> '"&""&"' "
Avatar billede remo27 Nybegynder
28. maj 2007 - 19:12 #3
Det var den ligeglad med.
Avatar billede w13 Novice
28. maj 2007 - 19:15 #4
Hmm.
-------------------------------------
' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, navn, postnr, city, lp FROM tblBrugerInfo WHERE "
strSQL = strSQL & " ((navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (postnr LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (city LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (lp LIKE '%" & strKeyword & "%')) AND (synlig = 1)"
Avatar billede remo27 Nybegynder
28. maj 2007 - 19:16 #5
mitbrugernavn>> Dit forsøg gav dette

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
/web/Adpd/search.asp, line 33

om man er synlig eller ej

linie 33 hedder Set rs = myConn.Execute(strSQL)
Avatar billede w13 Novice
28. maj 2007 - 19:17 #6
remo27 >> fejlen skyldes, at "vinge"-feltet ikke er tekst, og der opstår derfor fejl, når der skrives: synlig <> '"&""&"'
'-tegnene indikerer at indholdet er tekst.
Avatar billede w13 Novice
28. maj 2007 - 19:19 #7
Fejlen i mit første svar var nok, at den troede:
OR (lp LIKE '%" & strKeyword & "%') AND (synlig = 1)"
hang sammen. Det skulle være rettet i det andet indlæg.
Avatar billede remo27 Nybegynder
28. maj 2007 - 19:19 #8
wr13 drop et svar, dit sidste indlæg 19:15:58
fik det til at virke. takker :O)
Avatar billede w13 Novice
28. maj 2007 - 19:20 #9
Godt, det virkede! :)
Avatar billede w13 Novice
28. maj 2007 - 19:26 #10
Og mange 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