Avatar billede ossian Nybegynder
08. januar 2001 - 15:46 Der er 4 kommentarer og
1 løsning

Syntaxfejl i FROM-Delsætning??!?

Hej,

Jeg er i gang med at lave  et datingscript, og er nået til søgefunktionen, men jeg får følgende fejl hver gang jeg forsøger at søge i databasen:

MICROSOFT OLE DB Provider for ODBC Drivers
Fejl \'80040e14\'
[MICROSOFT][ODBC Access-Drivers]
Der er en syntaxfejl i FROM-Delsætningen

asp/dating/results.asp
linje 92

Her er først en kopi af search.asp:
-----
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"#FFFFFF\">
<!-- #include file=\"header.inc\" -->
<% ShowHeader \"Soeg Profiler\" %>

<table width=\"50%\" border=\"0\" cellspacing=\"2\" cellpadding=\"1\">
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Profilnavn</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"> <form method=\"post\" action=\"results.asp\">
      <input type=\"text\" name=\"Profilnavn\">
    </td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Alder</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"agefrom\" size=\"3\">
      til
      <input type=\"text\" name=\"ageto\" size=\"3\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">By</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"By\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Land</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"Land\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Icq</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"Icq\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Hoejde</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"heightfrom\" size=\"3\">
      til
      <input type=\"text\" name=\"heightto\" size=\"3\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Vaegt</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"weightfrom\" size=\"3\">
      til
      <input type=\"text\" name=\"weightto\" size=\"3\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Haarfarve</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"haarfarve\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Stjernetegn</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"Stjernetegn\">
      </font></td>
  </tr>
  <tr>
    <td width=\"24%\" bgcolor=\"#003366\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">Kategori</font></td>
    <td width=\"76%\" bgcolor=\"#006699\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#FFFFFF\">
      <input type=\"text\" name=\"Kategori\">
      </font></td>
  </tr>
</table>
<p>
  <input type=\"submit\" name=\"Submit\" value=\"Submit\"></form>
</p>
</body>
</html>
-----
Og her er en kopi af results.asp
-----
<% Response.Buffer = True %>
<HTML>
<BODY bgcolor=\"#ffffff\" vlink=\"red\">
<!-- #include file=\"header.inc\" -->
<% ShowHeader \"Profiler\" %>
<%
Dim Conn, Profiler, WhereClause, Profilnavn, agefrom, ageto, By
Dim Land, Icq, heightfrom, heightto, weightfrom, weightto, haarfarve, Stjernetegn, Kategori
Dim NoResults

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"dating.mdb\") & \";UID=admin;PWD=;\"


Profilnavn = Trim(Request(\"Profilnavn\"))
agefrom = Trim(Request(\"agefrom\"))
ageto = Trim(Request(\"ageto\"))
By = Trim(Request(\"By\"))
Land = Trim(Request(\"Land\"))
Icq = Trim(Request(\"Icq\"))
heightfrom = Trim(Request(\"heightfrom\"))
heightto = Trim(Request(\"heightto\"))
weightfrom = Trim(Request(\"weightto\"))
haarfarve = Trim(Request(\"haarfarve\"))
Stjernetegn = Trim(Request(\"Stjernetegn\"))
Kategori = Trim(Request(\"Kategori\"))

If Profilnavn = \"\" And agefrom = \"\" And ageto = \"\" And Kategori <> \"\" And _
By = \"\" And Land = \"\" And Icq = \"\" And heightfrom = \"\" And heightto = \"\" And _
weightfrom = \"\" And weightto = \"\" And haarfarve = \"\" And Stjernetegn = \"\" Then
Response.Redirect \"kategori.asp?Kategori=\" & Kategori
End If

WhereClause = \"WHERE\"
If Profilnavn <> \"\" Then
WhereClause = WhereClause & \"InStr(Profilnavn,\'\" & _
Profilnavn & \"\' )>0 AND \"
End If
If agefrom = \"\" And ageto <> \"\" Then
agefrom = \"0\"
ElseIf agefrom <> \"\" And ageto = \"\" Then
ageto = \"120\"
End If
If agefrom <> \"\" And ageto <> \"\" Then
WhereClause = WhereClause & \"Alder >= \" & _
agefrom & \" AND Alder <= \" & _
ageto & \" AND \"
End If
If By <> \"\" Then
WhereClause = WhereClause & \"By = \'\" &_
By & \"\' AND \"
End If
If Land <> \"\" Then
WhereClause = WhereClause & \"Land = \'\" &_
Land & \"\' AND \"
End If
If Icq <> \"\" Then
WhereClause = WhereClause & \"InStr(Icq,\'\" & _
Icq & \"\')>0 AND \"
End If
If heightfrom = \"\" And heightto <> \"\" Then
heightfrom = \"0\"
ElseIf heightfrom <> \"\" And heightto = \"\" Then
heightto = \"220\"
End If
If heightfrom <> \"\" And heightto <> \"\" Then
WhereClause = WhereClause & \"Hoejde >= \" & _
heightfrom & \" AND Hoejde <= \" & _
heightto & \" AND \"
End If
If weightfrom = \"\" And weightto <> \"\" Then
weightfrom = \"0\"
ElseIf weightfrom <> \"\" And weightto = \"\" Then
weightto = \"300\"
End If
If weightfrom <> \"\" And weightto <> \"\" Then
WhereClause = WhereClause & \"Vaegt >= \" & _
weightfrom & \" AND Vaegt <= \" & _
weightto & \" AND \"
End If
If haarfarve <> \"\" Then
WhereClause = WhereClause & \"haarfarve = \'\" &_
haarfarve & \"\' AND \"
End If
If Stjernetegn <> \"\" Then
WhereClause = WhereClause & \"Stjernetegn = \'\" &_
Stjernetegn & \"\' AND \"
End If
If Right(WhereClause,4) = \"AND \" Then
WhereClause = Left(WhereClause, Len(WhereClause) -4)
Query = \" SELECT * FROM profiler \" & WhereClause
Set Profiler = Conn.Execute(Query)
%>
<table border=1 bgcolor=lightblue width=100% bordercolor=black cellspacing=0 cellpadding=5>
<%
NoResults = True
Do While Not Profiler.EOF
NoResults = False
%>
<tr>
<td>
<a href=profil.asp?Profilnavn=<%=Profiler(\"Profilnavn\")%>
<%=Profiler(\"Profilnavn\")%></a></td>
<td><%=Profiler(\"Alder\")%></td>
<td><%=Profiler(\"By\")%></td>
</tr>
<%
Profiler.MoveNext
Loop
%>
</table>
<%
If NoResults = True Then %>
Desvaerre, ingen profiler matchede din soegekriterier, proev igen.<p>
<%
End If

Else

Response.Write \"Du har ikke indtastet nogle soegekriterier\"
End If
%>

</body>
</html>

%>
-----
Så vidt jeg kan se er linje 92:
Set Profiler = Conn.Execute(Query)


Det skal lige siges at hele scriptet vil være gratis at downloade når det er færdigt, send en email til engmark@888.nu så sender jeg en kopi.

Hjælp til udvikling af andre af scriptets dele modtages med kyshånd, her tænkes på logingfunktion m.m.

Mvh

Ossian Engmark


Avatar billede erikjacobsen Ekspert
08. januar 2001 - 15:53 #1
Prøv
  WhereClause = \"WHERE \"
i stedet for
  WhereClause = \"WHERE\"
Avatar billede lange Nybegynder
08. januar 2001 - 15:57 #2
Generelt kan det være en god ide at lave en

Response.Write Query

før du udfører queryen, for at se den SQL-sætning, der faktisk udføres. På den måde er det væsentligt nemmere at finde ud af, hvad fejlen faktisk er med SQL\'en. Men umiddelbart ser det ud til, at Erik har ret (as usual ;])
Avatar billede ossian Nybegynder
08. januar 2001 - 16:04 #3
Tak :-) Det virker!! Sikke en simpel fejl!

Og tak til Lange for det gode råd..Det vil jeg huske

:-)

Ossian
Avatar billede erikjacobsen Ekspert
08. januar 2001 - 16:24 #4
Helt og aldeles enig med hr. Lange - bortset fra at der
så bliver langt færre spørgsmål på eksperten ;-))
Avatar billede dudal Nybegynder
08. januar 2001 - 16:28 #5
:-)
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