Avatar billede vester Novice
07. september 2001 - 11:56 Der er 20 kommentarer og
2 løsninger

Hvorfor virker det ikke

Den søger ikke.

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"./tekster.mdb\")
Conn.Open DSN

strSQL = \"Select* From tricks where (navn like \'%\" & request.form(\"sog\") & \"%\'\"
strSQL = strSQL & \" or overskrift like \'%\" & request.form(\"sog\") & \"%\'\"
strSQL = strSQL & \" or tip like \'%\" & request.form(\"sog\") & \"%\')\"
Set rs = Conn.Execute(strSQL)

if rs.EOF or rs.BOF then
  Response.Write \"<tr><td colspan=\'5\'><div class=\'Trick\'>Der er intet i databasen, som matcher din søgning</div></td></tr><tr><td colspan=\'5\'><div class=\'Trick\'><a href=\'./Soegning.asp\'>Prøv igen</a></div></td></tr>\"
else

Do
  \' Fundet her
      Response.Write \"<tr>\"
    Response.Write \"<td><div class=\'Trick\'>\" & Overskrift & \"</div></td>\"
    Response.Write \"<td><div class=\'Trick\'>&nbsp; &nbsp;</div></td>\"
    Response.Write \"<td><div class=\'Trick\'>\" & Navn & \"</div></td>\"
    Response.Write \"<td><div class=\'Trick\'>&nbsp; &nbsp;</div></td>\"
    Response.Write \"<td><div class=\'Trick\'>\" & Dato & \"</div></td>\"
    Response.Write \"</tr>\"

  rs.MoveNext
Loop While Not rs.EOF
End if
Conn.Close
Set Conn = Nothing
%>
Avatar billede nordclc Nybegynder
07. september 2001 - 12:00 #1
Det kan være noget med upper og lower case bogstaver. skriv f.eks. :

Select* From tricks where (ucase(navn) like ucase(\'%\" & request.form(\"sog\") & \"%\')\"

Husk de 2 andre linier også.

//Claus


Avatar billede eagleeye Praktikant
07. september 2001 - 12:11 #2
Måske er det fordi du mangler set rs=Server.CreateObject(\"ADODB.Recordset\"):

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Set rs=Server.CreateObject(\"ADODB.Recordset\")
Avatar billede vester Novice
07. september 2001 - 14:58 #3
>>nordclc.
Skal jeg tilføje i linier eller hvad mener du?
Avatar billede eagleeye Praktikant
07. september 2001 - 15:01 #4
Ja tilføj linien

Set rs=Server.CreateObject(\"ADODB.Recordset\")

evt. lige efter linien med Set Conn= Server......
Avatar billede vester Novice
07. september 2001 - 15:04 #5
Den kommer heller ikke med nogen \"Desværre\" (RS.EOF), så den må jo være helt gal.
Avatar billede vester Novice
07. september 2001 - 15:22 #6
eagleeye.
Det hjalp ikke...
Avatar billede eagleeye Praktikant
07. september 2001 - 15:25 #7
Jeg ved ikke om det har noget at sige men der er ikke mellemrum mellem select og * i din sql sætning.

strSQL = \"Select * From ....

Avatar billede vester Novice
07. september 2001 - 15:49 #8
eagleeye.
Det var heller ikke det.
Jeg har desværre ikke mere tid idag, men jeg tjekker op på spørgsmålet her på søndag.
God Weekend,
VesTer
Avatar billede eagleeye Praktikant
08. september 2001 - 10:35 #9
Skriver den:
Der er intet i databasen, som matcher din søgning. Prøv igen.
Eller
Kommer der bare ikke nogle resultater?
Avatar billede eagleeye Praktikant
08. september 2001 - 11:18 #10
Når du udskriver data fra tabllen mangler du rs(\"feltnavn\") du har bare skrevet feltnavnet. Der mangler også <table></table>. Jeg så det ført nu hvor jeg igen læste din kode igennem:

Do
  \' Fundet her
  Response.Write \"<table>\"
  Response.Write \"<tr>\"
  Response.Write \"<td><div class=\'Trick\'>\" & rs(\"Overskrift\") & \"</div></td>\"
  Response.Write \"<td><div class=\'Trick\'>&nbsp; &nbsp;</div></td>\"
  Response.Write \"<td><div class=\'Trick\'>\" & rs(\"Navn\") & \"</div></td>\"
  Response.Write \"<td><div class=\'Trick\'>&nbsp; &nbsp;</div></td>\"
  Response.Write \"<td><div class=\'Trick\'>\" & rs(\"Dato\") & \"</div></td>\"
  Response.Write \"</tr>\"
  Response.Write \"</table>\"
  rs.MoveNext
Loop While Not rs.EOF
Avatar billede vester Novice
10. september 2001 - 21:35 #11
Så er jeg tilbage!!!
Problemet er at den ignorerer søgeordet og udskriver alt fra databasen. I øjeblikket er det ikke det store problem, da der kun er to poster, men der skulle jo gerne komme flere.
Er der en der har et bud på hvd der kunne være galt???
VesTer
Avatar billede eagleeye Praktikant
10. september 2001 - 21:45 #12
Du ved godt hvad eks.vis like \'%a%\'  betyder?
Den vil finde alt hvad det indeholder a. Så hvis du har et langt tekst felt er det nok meget sansynligt a ingår i posterne.
Avatar billede vester Novice
10. september 2001 - 21:52 #13
Jeg søgte på ordet \"struds\" og den listede stadig begge poster, selvom ingen af dem indeholdte ordet.
Avatar billede eagleeye Praktikant
10. september 2001 - 21:53 #14
hmm underlidt ingår struds i nogle ord?
strudseben?
strudsql?
Avatar billede vester Novice
10. september 2001 - 21:55 #15
nej, det gør det ikke, og det er nemmelig mystisk!
Avatar billede eagleeye Praktikant
10. september 2001 - 21:56 #16
Og du er sikker på at søgefeltet på formen hedder sog?
Avatar billede eagleeye Praktikant
10. september 2001 - 21:57 #17
Hvis den her request.form(\"sog\") er tom vil du få alle poster fra databasen.
Avatar billede vester Novice
10. september 2001 - 22:04 #18
Ja, det er jeg.
Er der ikke en måde at få den til, at skrive at der ikke var noget resultat?
Avatar billede eagleeye Praktikant
10. september 2001 - 22:07 #19
En af de to her skulle gerne virke:
if isNull(Request.Form(\"sog\")) then
  Ingen søge ord.
end if

ELLER:

if Request.Form(\"sog\") = \"\" then
  Ingen søge ord.
end if
Avatar billede eagleeye Praktikant
10. september 2001 - 22:08 #20
Evt prøv for test at udskrive  sog:
response.write sog
Avatar billede eagleeye Praktikant
10. september 2001 - 22:21 #21
Jeg har lavet en copy/paste af din kode og det virker fint hos mig.

Her er den form jeg har brugt:
<form method=\"post\" action=\"result.asp\">
  <p>Søge ord <input name=\"sog\" ></p>
  <p><input type=\"submit\" value=\"S&oslash;g\" name=\"Action\"></p>
</form>

Jeg er nød til at smutte for iaften.
Avatar billede vester Novice
08. oktober 2001 - 00:33 #22
Beklager den laaaaaaaaaaaange ventetid, men p.g.a. omstrukturering af sitet, har jeg været nødt til at lave det hele om. Derfor har jeg ingen idé om om jeres svar hjalp. MEN p.g.a. den lange ventetid får i begge 15 points.
Beklager.
VesTer
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