Avatar billede micplus Nybegynder
29. marts 2006 - 20:51 Der er 11 kommentarer og
1 løsning

Udtræk

<%
If (IsNumeric(Request.QueryString("id"))) And (Request.QueryString("id") <> "") Then
  If Request.QueryString("id") < 1 Then
      intINPUT = 1
    else
    If Request.QueryString("id") > antalcoms.Fields("antalcomsREF") Then
    intINPUT = antalcoms.Fields("antalcomsREF")
    end if
    intINPUT = Request.QueryString("id")
end if
End if
%>

Problemet er at jeg får en error når id > antalcoms.fields... istedet for at intINPUT sættes til antalcoms.fileds...
Avatar billede eagleeye Praktikant
29. marts 2006 - 20:53 #1
og hvordan ser koden ud som åber antalcoms.Fields("antalcomsREF") ?

Hvis antalcoms er tom vil der komme en fejl

Hvilken fejl får du?
Avatar billede micplus Nybegynder
29. marts 2006 - 21:00 #2
fejlen siger : "Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record."

Jeg henter ud med :
<%    Set Conn = Server.CreateObject("ADODB.Connection")
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/popp.mdb")
    Conn.Open strDSN
    %>

udtrækket passer - jeg har lavet en display og den viser "6" hvilke er korrekt.
Avatar billede eagleeye Praktikant
29. marts 2006 - 21:02 #3
Det kode du har vist er bare til at åbne en connection til databasen.

Hvis fejlen er :  Either BOF or EOF is True
Så betyder det at recordset er tomt.


Er du sikker på du får åbnet for reorset inden if sætningen?
Avatar billede micplus Nybegynder
29. marts 2006 - 21:06 #4
Når jeg sætter ...
<%    Set Conn = Server.CreateObject("ADODB.Connection")
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/popp.mdb")
    Conn.Open strDSN
    set antalcoms = Conn.Execute ("SELECT count(id) AS antalcomsREF FROM po")
    no = antalcoms.Fields("antalcomsREF")%>

og

<%=intInput%>
<%=no%>

med id=1 får jeg "1" og "6" hvilet er korrekt. med id=2 får jeg "2" og "6" - med id=7 (eller derover) får jeg ovennævnte fejl.
Avatar billede eagleeye Praktikant
29. marts 2006 - 21:08 #5
ok så prøv at bruge variablen no i if sætningen hvis du får lukket for antalcoms igen if sætnignen:

<%
If (IsNumeric(Request.QueryString("id"))) And (Request.QueryString("id") <> "") Then
  If Request.QueryString("id") < 1 Then
      intINPUT = 1
    else
    If Request.QueryString("id") > no Then
    intINPUT = no
    end if
    intINPUT = Request.QueryString("id")
end if
End if
%>
Avatar billede micplus Nybegynder
29. marts 2006 - 21:12 #6
nix - intInput er stadig lig id .. også selvom id > no
Avatar billede eagleeye Praktikant
29. marts 2006 - 21:13 #7
ok så prøv med int omkring det kan være fordi den tolker den ene variable som streng og den anden som tal:

    If int(Request.QueryString("id")) > int(no) Then
Avatar billede micplus Nybegynder
29. marts 2006 - 21:20 #8
Nej, samme fejl når jeg kommer over id=6
Avatar billede eagleeye Praktikant
29. marts 2006 - 21:21 #9
Hvor er if sætningen placeret i forhold til connection til databasen?
Avatar billede eagleeye Praktikant
29. marts 2006 - 21:25 #10
ARH det er i if sætningen den er gal den vil altid sætte id til request.Quersyting da du har en end if skulle være en else så prøv lige sådan her:

<%
If (IsNumeric(Request.QueryString("id"))) And (Request.QueryString("id") <> "") Then
  If Request.QueryString("id") < 1 Then
      intINPUT = 1
    else
    If int(Request.QueryString("id")) > int(no) Then
      intINPUT = no
    else
      intINPUT = Request.QueryString("id")
    end if
  end if
End if
%>
Avatar billede micplus Nybegynder
29. marts 2006 - 21:25 #11
Direkte kopieret.. :

<%    Set Conn = Server.CreateObject("ADODB.Connection")
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/popp.mdb")
    Conn.Open strDSN
    set antalcoms = Conn.Execute ("SELECT count(id) AS antalcomsREF FROM po")
    no = antalcoms.Fields("antalcomsREF")


If (IsNumeric(Request.QueryString("id"))) And (Request.QueryString("id") <> "") Then
  If Request.QueryString("id") < 1 Then
      intINPUT = 1
    else
    If int(Request.QueryString("id")) > int(no) Then
    intINPUT = no
    end if
    intINPUT = Request.QueryString("id")
end if
End if
Conn.Close
set Conn=nothing%>
Avatar billede micplus Nybegynder
29. marts 2006 - 21:27 #12
lol - jaaa .. der var den. Tak for hjælpen!!
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