Avatar billede asker Nybegynder
09. august 2001 - 16:15 Der er 23 kommentarer og
1 løsning

Database

Hvad gør jeg forkert

Fejl:

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

Kode:

<% @LANGUAGE = VBScript %>
<%
Option Explicit

Dim DB, mSagsnr, conn
mSagsnr = request.querystring(\"Sagsnr\")




  Set DB = Server.CreateObject (\"ADODB.Connection\")
  DB.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"../Ejendomme.mdb\")
Dim RS
  Set RS = Server.CreateObject (\"ADODB.Recordset\")
 
 
 
  \'RS.Open \"SELECT Kunde.Foto1, Kunde.Beliggenhed, Kunde.Postnr, Kunde.By, Kunde.Kontant, Kunde.Netto, Kunde.Kvm, Kunde.Grund, Kunde.Sagsnr FROM Kunde WHERE (((Kunde.Dato) In (Select Max(Dato) From Kunde)))\", DB

  RS.Open \"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr, conn
 
 
  If RS.EOF And RS.BOF Then
    Response.Write \"There are 0 records.\"
   
  Else
    RS.MoveFirst
    While Not RS.EOF
         
     
      %>
     
<div align=\"center\">
<center>
     
      <table BORDER=\"0\" width=\"150\" cellspacing=\"0\" cellpadding=\"0\">
          <tr>
            <td colspan=\"2\" width=\"159\" height=\"21\"><font color=\"#0066FF\"><b>Nyeste
              Ejendom.......</b></font></td>
          </tr>
          <tr>                                                                                   
            <td colspan=\"2\" width=\"159\" height=\"100\"><a href=\"de.asp?Sagsnr=<%Response.Write RS.Fields (\"Sagsnr\")%>\"><img border=\"2\" src=\"<%Response.Write RS.Fields (\"Foto1\")%>\" width=\"155\" height=\"94\" style=\"position: relative; border-style: solid; border-color: #0066FF\" align=\"center\"></a></td>
          </tr>
          <tr>
            <td colspan=\"2\" width=\"159\" height=\"21\"><b><font size=\"2\"><%Response.Write RS.Fields (\"Beliggenhed\")%></font></b></td>
          </tr>
          <tr>
            <td colspan=\"2\" width=\"159\" height=\"21\"><font size=\"2\"><%Response.Write RS.Fields (\"postnr\")%>&nbsp;&nbsp;<%Response.Write RS.Fields (\"By\")%></font></td>
          </tr>
          <tr>
            <td width=\"50\" height=\"21\"><b><font size=\"2\">Kontant:</font></b></td>
            <td align=\"right\" height=\"21\" width=\"107\">
              <p align=\"right\" style=\"word-spacing: 0; margin: 0\"><font size=\"2\"><%Response.Write RS.Fields (\"Kontant\")%>Kr.</font></td>
          </tr>
          <tr>
            <td width=\"50\" height=\"21\"><b><font size=\"2\">Netto:</font></b></td>
            <td align=\"right\" height=\"21\" width=\"107\">
              <p align=\"right\" style=\"word-spacing: 0; margin: 0\"><font size=\"2\"><%Response.Write RS.Fields (\"Netto\")%>Kr.</font></td>
          </tr>
          <tr>
            <td width=\"50\" height=\"20\"><b><font size=\"2\">Grund:</font></b></td>
            <td align=\"right\" height=\"20\" width=\"107\">
              <p align=\"right\" style=\"word-spacing: 0; margin: 0\"><font size=\"2\"><%Response.Write RS.Fields (\"Grund\")%>m²</font></td>
          </tr>
          <tr>
            <td width=\"50\" height=\"21\"><b><font size=\"2\">Kvm:</font></b></td>
            <td align=\"right\" height=\"21\" width=\"107\">
              <p align=\"right\" style=\"word-spacing: 0; margin: 0\"><font size=\"2\"><%Response.Write RS.Fields (\"Kvm\")%>m²</font></td>
          </tr>
          <tr>
              <td width=\"50\" valign=\"top\" height=\"20\">
              </td>
              <td width=\"107\" valign=\"top\" height=\"20\">

              </td>
            </tr>
          <tr>
              <td width=\"50\" valign=\"top\" height=\"21\">
              </td>
              <td width=\"107\" valign=\"top\" height=\"21\">

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

     
     
</center>
</div>

     
     
      <%
    RS.MoveNext
    Wend
  End If
  %>


/Databaser/test/test.asp, line 20
Avatar billede prof2 Nybegynder
09. august 2001 - 16:19 #1
Prøv at fjern denne linje:

RS.MoveFirst

Den er unødvendig i dette sammenhæng. Og for at kunne gå tilbage i databasen kræver det noget andet... Prøv at fjern den.
Avatar billede prof2 Nybegynder
09. august 2001 - 16:19 #2
Hvad er linje 20 for en linje ??
Avatar billede asker Nybegynder
09. august 2001 - 16:22 #3
Her er linje 20

RS.Open \"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr, conn
Avatar billede zeptic Nybegynder
09. august 2001 - 16:23 #4
Jeg vil gætte på at problemet er i linjen:
  RS.Open \"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr, conn

Prøv følgende i stedet:
  SQL=\"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr
  RS.Open SQL, conn
Avatar billede zeptic Nybegynder
09. august 2001 - 16:24 #5
eller også skal der stå DB istedet for conn
Avatar billede prof2 Nybegynder
09. august 2001 - 16:25 #6
Fjern denne linje:

Option Explicit

Se om det virker så... Hvis det gør, er det noget med navnene på dine variabler det er galt med.
Avatar billede asker Nybegynder
09. august 2001 - 16:25 #7
Sagsnr kommer i url som

xx.asp?Sagsnr=etellerandet
Avatar billede prof2 Nybegynder
09. august 2001 - 16:26 #8
zeptic har ret, tror jeg. Du skal skrive DB i stedet for conn i denne linje:

RS.Open \"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr, conn
Avatar billede prof2 Nybegynder
09. august 2001 - 16:26 #9
Men det var noget med variable navnene som jeg var inde på :)
Avatar billede zeptic Nybegynder
09. august 2001 - 16:26 #10
prof2: hvad pokker skulle option explicit have med det at gøre??
Avatar billede asker Nybegynder
09. august 2001 - 16:28 #11
Hvis jeg skriver DH istedet for conn

får jeg den her fejl

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/Databaser/test/test.asp, line 20

Avatar billede asker Nybegynder
09. august 2001 - 16:28 #12
Jeg mener selfølgelig DB
Avatar billede zeptic Nybegynder
09. august 2001 - 16:29 #13
og sagsnr er nummerisk?? både i db og i querystring?
Avatar billede asker Nybegynder
09. august 2001 - 16:31 #14
Hvis jeg skriver
SQL=\"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr
  RS.Open SQL, conn

får jeg stadig en fejl

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

/Databaser/test/test.asp, line 22
Avatar billede asker Nybegynder
09. august 2001 - 16:32 #15
Sagsnr er et tal på 4 sifre
Avatar billede zeptic Nybegynder
09. august 2001 - 16:32 #16
conn skulle rettes til DB
Avatar billede zeptic Nybegynder
09. august 2001 - 16:33 #17
og så er det muligt du skal skrive:
SQL=\"SELECT * FROM Kunde Where Sagsnr =\" & CInt(mSagsnr)
Avatar billede asker Nybegynder
09. august 2001 - 16:35 #18
Stadig samme fejl
Avatar billede asker Nybegynder
09. august 2001 - 16:36 #19
conn er rettet til DB
Avatar billede zeptic Nybegynder
09. august 2001 - 16:36 #20
prøv at kontrollere om der overhovedet sendes et sagsnr

...og om du sender i en form med method=\"GET\"
Avatar billede asker Nybegynder
09. august 2001 - 16:42 #21
Jeg hare lige lavet en

response.write(request.querystring(\"Sagsnr\"))

Og sagsnr lander på siden

Jeg sender ikke med GET

Kaldet laves med http://www.vipiil.dk/Databaser/test.asp?Sagsnr=1914
Avatar billede asker Nybegynder
09. august 2001 - 16:43 #22
Så sagsnr står i queristringen
Avatar billede slash Nybegynder
09. august 2001 - 21:49 #23
kunne du ik prøve det her:

Dim DB, mSagsnr, conn, RS
mSagsnr = request.querystring(\"Sagsnr\")
Set DB = Server.CreateObject (\"ADODB.Connection\")
DB.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"../Ejendomme.mdb\")
sql = \"SELECT * FROM Kunde Where Sagsnr =\" & mSagsnr 

set RS = db.execute(sql)
Avatar billede asker Nybegynder
09. august 2001 - 21:59 #24
Fandt  ud af at når det er et tekst felt i databasen afsluttes med et\"\'\"
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