Avatar billede el-prebsi Nybegynder
11. november 2001 - 20:55 Der er 5 kommentarer og
2 løsninger

ASP og Access vil ikke arbejde sammen

Hej

Vi er nogle der er igang med et skoleprojekt og vi kan ikke finde helt ud af det.
Jeg har et problem hvor jeg får følgende fejlmeddelelse fra min IIS-server:

\"    * Fejltype:
      Microsoft JET Database Engine (0x80040E07)
      Datatyperne stemmer ikke overens i kriterieudtrykket.
      /opel/brugtbil.asp, line 167\"

Min database med tabellen \"Biler\" indeholder et felt med navn \"year\" og felttypen er af tal, heltal.
Mit spørgsmål går på hvorfor jeg får den fejl (linienr. 167 er markeret)

<% option explicit
dim model, yearmin, yearmax, kmmin, kmmax, prismin, prismax, location, sqlcn, Searched, nonsearch, rest, sqlquery

nonsearch = request.querystring (\"nonsearch\")
%>

<!-- #include file = \"head.asp\" -->
<style type=\"text/css\">
  select { border: 1px solid #000000;
          padding: 0px;
          color: #000000;
          background-color: #F0F0F0;
          width: 128px;
          height: 18px;
        }

  input { border: 1px solid #000000;
          padding: 0px;
          color: #000000;
          background-color: #F0F0F0;
          width: 128px;
          height: 18px;
        }
</style>
<!-- #include file = \"top.asp\" -->

<table class=\"submenu\">
  <tr>
    <td class=\"submenuhead\">
      Brugtbilssøgning
    </td>
  </tr>
  <tr>
    <td class=\"submenuindex\">
      <br>
      <div style=\"text-align: center; padding: 0px; margin: 0px;\">
        <img src=\"images/zafira.jpg\" alt=\"Zafira\" style=\"height: 70px; width: 125px; margin: 0px; padding: 0px;\">
      </div>
      <form method=\"POST\" action=\"brugtbil.asp\" style=\"z-index: 4; padding: 0px; margin: 0px;\">
        <h2>Model</h2>
        <select name=\"model\">
          <option></option>
          <option>Agila</option>
          <option>Ascona</option>
          <option>Astra</option>
          <option>Calibra</option>
          <option>Corsa</option>
          <option>Frontera</option>
          <option>Kadett</option>
          <option>Manta</option>
          <option>Monza</option>
          <option>Omega</option>
          <option>Senator</option>
          <option>Tigra</option>
          <option>Vectra</option>
          <option>Zafira</option>
        </select>

        <h2>Årgang (min.)</h2>
        <select name=\"aarmin\">
          <option>1990</option>
          <option>1991</option>
          <option>1992</option>
          <option>1993</option>
          <option>1994</option>
          <option>1995</option>
          <option>1996</option>
          <option>1997</option>
          <option>1998</option>
          <option>1999</option>
          <option>2000</option>
          <option>2001</option>
        </select>

        <h2>Årgang (max.)</h2>
        <select name=\"aarmax\">
          <option>2001</option>
          <option>2000</option>
          <option>1999</option>
          <option>1998</option>
          <option>1997</option>
          <option>1996</option>
          <option>1995</option>
          <option>1994</option>
          <option>1993</option>
          <option>1992</option>
          <option>1991</option>
          <option>1990</option>
        </select>

        <h2>Kilometer (min.)</h2>
        <input type=\"text\" name=\"kmmin\" style=\"text-align: right;\">

        <h2>Kilometer (max.)</h2>
        <input type=\"text\" name=\"kmmax\" style=\"text-align: right;\">
        </select>

        <h2>Pris (min.)</h2>
        <input type=\"text\" name=\"prismin\" style=\"text-align: right;\">
        </select>

        <h2>Pris (max.)</h2>
        <input type=\"text\" name=\"prismax\" style=\"text-align: right;\">
        </select>

        <h2>Område</h2>
        <select name=\"location\">
          <option></option>
          <option>Nordjylland</option>
          <option>Viborg</option>
          <option>Århus</option>
          <option>Ringkøbing</option>
          <option>Vejle</option>
          <option>Ribe</option>
          <option>Sønderjylland</option>
          <option>Fyn</option>
          <option>Frederiksborg</option>
          <option>Vestsjælland</option>
          <option>København</option>
          <option>Roskilde</option>
          <option>Storstrøm</option>
          <option>Bornholm</option>
          <option>Færøerne</option>
        </select>
        <br>
        <br>
        <input type=\"submit\" value=\"Søg\" name=\"sub\" style=\"height: 22px; font-weight: bold; border: 2px solid #000000; background-color: #F0F0F0;\">
      </form>
    </td>
  </tr>
</table>


<table class=\"indhold\">
  <tr>
    <td class=\"indholdhead\">
      Søgeresultater
    </td>
  </tr>
  <tr>
    <td class=\"indhold\">
      <%
      if nonsearch then
        response.write (\"Der er ikke foretaget nogen søgning endnu\")
      else
        model = request.form (\"model\")
\'**
        yearmin = int(request.form (\"aarmin\"))
        yearmax = int(request.form (\"aarmax\"))
        kmmin = request.form (\"kmmin\")
        kmmax = request.form (\"kmmax\")
        prismin = request.form (\"prismin\")
        prismax = request.form (\"prismax\")
        location = request.form (\"location\")


        set sqlcn = server.createobject(\"ADODB.Connection\")
        sqlcn.connectionstring = \"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =\" & Server.MapPath(\"brugtbil.mdb\")
        sqlcn.open
\'**
        sqlquery = \"SELECT * FROM Biler WHERE \"
        sqlquery = sqlquery & \"year > \'\" & yearmin & \"\'\"
\'        sqlquery = sqlquery & \" AND year < \'\" & yearmax &\"\'\"

\'        if len(model) > 0 then sqlquery = sqlquery & \" AND model = \'\" & model & \"\'\"


\'*linie 167        set rest = sqlcn.execute (sqlquery)
      %>

        <table class=\"searchresult\">
     
      <%
        response.write (\"<td class=searchmodel>\")
        while not rest.eof
          Searched = rest(\"model\")
          response.write (Searched)
          rest.movenext
        wend

        rest.close

        response.write (\"<br><br>Søgningen er afsluttet\")

        sqlcn.close

        set sqlcn = nothing
      %>
     
      </table>

      <%
      end if
      %>

    </td>
  </tr>
</table>

<!-- #include file = \"sub.asp\" -->


jeg har markeret to andre linier hvor der muligvis kunne være fejl :-(

Håber nogen kan hjælpe mig - det skulle være en simpel konveretering fra streng til heltal, men det var det bare ikke :-(

Skal afleveres på fredag så jeg er lidt i et tidspres...
Avatar billede prof2 Nybegynder
11. november 2001 - 20:59 #1
Du skal ikke have \' om en variable når det er et tal i databasen...

sqlquery = sqlquery & \"year > \" & yearmin
sqlquery = sqlquery & \" AND year < \" & yearmax
Avatar billede prof2 Nybegynder
11. november 2001 - 21:00 #2
felt er et tal:
sql = \"Select * from [tebel] where felt = \" & tal

felt er en tekst:
sql = \"Select * from [tebel] where felt = \'\" & tekst & \"\'\"
Avatar billede nute Nybegynder
11. november 2001 - 21:02 #3
din int() funksjon krever et numerisk parameter. Du skal heller prøve å bruke CInt() evt i kombinasjon med Int():

yearmin = int( CInt( request.form (\"aarmin\") ) )
yearmax = int( CInt( request.form (\"aarmax\") ) )
       
men konverteringen er strengt tatt ikke nødvendig, da du bare ska bruke verdien til å lage en SQL streng. Om det er en int eller streng er fullstendig likegyldig. Men selve kolonnen i databasen er av typen in, og derfor skal du ikke ha \'\' rundt verdien i din SQL:

sqlquery = sqlquery & \"year > \" & yearmin & \"\"

/nute
Avatar billede el-prebsi Nybegynder
11. november 2001 - 21:03 #4
filen der er vedhæftet hedder brugtbil.asp og kaldes uden søgning brugtbil.asp?nonsearch=true

dvs. at det er samme fil der modtager søgningen som er vist i forvejen!!!

kan ses på http://friserverplads.dk/echelon2000/brugtbil.asp?nonsearch=true
Avatar billede el-prebsi Nybegynder
11. november 2001 - 21:06 #5
mange tak - det er dejligt at have eksperten.dk - der redede i mig fra en skideballe - mange tak
Avatar billede nute Nybegynder
11. november 2001 - 21:08 #6
det var da så lidt...selv takk :-)
Avatar billede el-prebsi Nybegynder
11. november 2001 - 21:27 #7
et andet spørgsmål til samme projekt:

http://www.eksperten.dk/spm/132563
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