Avatar billede xezbeth Nybegynder
30. april 2003 - 21:31 Der er 16 kommentarer og
1 løsning

Either BOF or EOF is True

hej jeg har følgende kode:
<% Response.Buffer = true %>
<%
If request.cookies("login")("login") <> "ja" then
response.redirect("login.asp")
End if
%>
<%
If Not Session("login") = True Then Response.Redirect("login.asp")

    Set objConnection = Server.CreateObject("ADODB.Connection")
    objConnection.Open strConnect

sqlStr = "SELECT bruger_navn FROM bruger WHERE bruger_navn = '" & Session("bruger_navn") & "'"
Set rsUser = objConnection.Execute(sqlStr)
%>
.
.
.
.
.      <td><p><strong><font size="2" color="#0000FF" face="Book Antiqua">Bruger:<br>
              <%=session("bruger_navn")%> <br>
              <%=rsUser("bruger_navn")%></font></strong></p></td>

og får denne fejl:

Error Type:
ADODB.Field (0x80020009)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/skole/loginteacher.asp

nogen der kan fortælle mig, hvad den går ud på og hvordan den kan rettes
Avatar billede medions Nybegynder
30. april 2003 - 21:31 #1
Det er fordi Recorden du prøver at kalde ikke findes!

//>Rune
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:33 #2
når brugeren logger ind fra loginsiden, skal der på næste side fremkomme navnet på den bruger der er logget ind og type,


sqlStr = "SELECT bruger_typeFROM bruger WHERE bruger_navn = '" & Session("bruger_navn") & "'"
Set rsUser = objConnection.Execute(sqlStr)


<%=rsUser("bruger_type")%></font></strong></p></td>
Avatar billede medions Nybegynder
30. april 2003 - 21:33 #3
Her er hvad du kan gøre for at undgå fejlen:

http://activedeveloper.dk/aspdigital/kapitel2/emptyrecordset.asp

//>Rune
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:34 #4
hvilken record, hvor???
Avatar billede medions Nybegynder
30. april 2003 - 21:35 #5
Med SQL kalder du altid en Record (en Record er en post i en tabel / kolonne)

//>Rune
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:36 #6
kan det være der er noget galt med '" & Session("bruger_navn") & "'", at den ikke får noget med, for sql sætningen virker fint i access
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:37 #7
ja den tager ikke session med, har lige prøvet at udskrive sqlStr
Avatar billede medions Nybegynder
30. april 2003 - 21:37 #8
Det kunne godt være ja..

-Prøv at lav en

Response.Write(Session("bruger_navn"))

//>Rune
Avatar billede medions Nybegynder
30. april 2003 - 21:39 #9
Se, så er det jo det der er problemet! ;o)

//>Rune
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:41 #10
der kommer ingenting ved Response.Write(Session("bruger_navn"))
og slqstr = SELECT bruger_type FROM bruger WHERE bruger_navn = ''
så det er session("bruger_navn") det ergalt med
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:42 #11
any ideas, hvordan og hvorfor??
Avatar billede medions Nybegynder
30. april 2003 - 21:43 #12
Ja, der bliver ikke tildelt nogen værdi til den!

For at gøre det skal du gøre sådan her:

Session("bruger_navn") = "Medions"

//>Rune
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:48 #13
<%   
    Set objConnection = Server.CreateObject("ADODB.Connection")
      objConnection.Open strConnect

bruger_navn = Request.Form("bruger_navn")
session("bruger_navn") = bruger_brugernavn
session("login") = True

    bruger_navn     = replace(bruger_navn, "'", "")
    bruger_kode     = Request.Form("pass")
    bruger_kode     = replace(bruger_kode, "'", "")
   
    strSQL = "Select * from bruger where bruger_navn = '" & bruger_navn & "' AND bruger_kode = '" & bruger_kode & "'"

    Set rs =objConnection.Execute(strSQL)


    if not (rs.EOF or rs.BOF) then
          session("login") = True
        Response.Cookies("login")("login") = "ja"
        if rs("bruger_type") = "foraeldre" then
            Response.redirect ("loginparent.asp")
        elseif rs("bruger_type") = "elev" Then
            Response.redirect ("loginstudent.asp")
        elseif rs("bruger_type") = "laere" Then
            Response.redirect ("loginteacher.asp")
        End If
       
else session("login") = false

      Response.write "Brugeren findes ikke"
    end if    %>

<% End If %>
det her er login siden, og her bliver den da tildelt en værdi:/
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:49 #14
her er så siden som man skal komme ind på efter man er logget ind,

<% Response.Buffer = true %>
<%
If request.cookies("login")("login") <> "ja" then
response.redirect("login.asp")
End if
%>
<%

If Not Session("login") = True Then Response.Redirect("login.asp")

    Set objConnection = Server.CreateObject("ADODB.Connection")
    objConnection.Open strConnect

sqlStr = "SELECT bruger_type FROM bruger WHERE bruger_navn = '" & Session("bruger_navn") & "'"
Set rsUser = objConnection.Execute(sqlStr)
Response.Write(Session("bruger_navn"))
response.Write(sqlStr)

response.End()
%>
.
.
.
.
.
          <td><p><strong><font size="2" color="#0000FF" face="Book Antiqua">Bruger:<br>
              <%=session("bruger_navn")%> <br>
              <%=rsUser("bruger_type")%></font></strong></p></td>
Avatar billede medions Nybegynder
30. april 2003 - 21:50 #15
Nej, men så må du jo tildele den en værdi!

    if not (rs.EOF or rs.BOF) then
          Session("bruger_navn") = bruger_navn
          session("login") = True
        Response.Cookies("login")("login") = "ja"
        if rs("bruger_type") = "foraeldre" then
            Response.redirect ("loginparent.asp")
        elseif rs("bruger_type") = "elev" Then
            Response.redirect ("loginstudent.asp")
        elseif rs("bruger_type") = "laere" Then
            Response.redirect ("loginteacher.asp")
        End If

//>Rune
Avatar billede xezbeth Nybegynder
30. april 2003 - 21:52 #16
okii nu virker det, tusind tak :o)
Avatar billede medions Nybegynder
30. april 2003 - 21:55 #17
Anytime ;o)
Thx 4 Poinz

//>Rune
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