Avatar billede jmc Nybegynder
06. maj 2002 - 13:18 Der er 13 kommentarer og
2 løsninger

Enten er BOF eller EOF sand

Hvad går der galt her???


titel:  ADODB.Field error '800a0bcd'

Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.

/kunder/aakn/ide.asp, line 158



koden:

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/aakn_reddot.asp" -->
<%
Dim user__MMColParam
user__MMColParam = "1"
if (Request.Cookies("event_user") <> "") then user__MMColParam = Request.Cookies("event_user")
%>
<%
set user = Server.CreateObject("ADODB.Recordset")
user.ActiveConnection = MM_aakn_reddot_STRING
user.Source = "SELECT * FROM user_login WHERE bruger = '" + Replace(user__MMColParam, "'", "''") + "'"
user.CursorType = 0
user.CursorLocation = 2
user.LockType = 3
user.Open()
user_numRows = 0
%>
<%
Dim events__MMColParam
events__MMColParam = "1"
if (Request.QueryString("event_id") <> "") then events__MMColParam = Request.QueryString("event_id")
%>
<%
set events = Server.CreateObject("ADODB.Recordset")
events.ActiveConnection = MM_aakn_reddot_STRING
events.Source = "SELECT * FROM hent_events WHERE event_id = " + Replace(events__MMColParam, "'", "''") + ""
events.CursorType = 0
events.CursorLocation = 2
events.LockType = 3
events.Open()
events_numRows = 0
%>
<%
Dim Repeat1__numRows
Repeat1__numRows = -1
Dim Repeat1__index
Repeat1__index = 0
events_numRows = events_numRows + Repeat1__numRows
%>
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("txtbrugernavn2"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="ide.asp"
  MM_redirectLoginFailed="noaccess.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = MM_aakn_reddot_STRING
  MM_rsUser.Source = "SELECT bruger, password"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM user_login WHERE bruger='" & MM_valUsername &"' AND password='" & CStr(Request.Form("txtpassword2")) & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    response.cookies("event_user") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>
<%
' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

' create the list of parameters which should not be maintained
MM_removeList = "&index="
If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" & MM_paramName & "="
MM_keepURL="":MM_keepForm="":MM_keepBoth="":MM_keepNone=""

' add the URL parameters to the MM_keepURL string
For Each Item In Request.QueryString
  NextItem = "&" & Item & "="
  If (InStr(1,MM_removeList,NextItem,1) = 0) Then
    MM_keepURL = MM_keepURL & NextItem & Server.URLencode(Request.QueryString(Item))
  End If
Next

' add the Form variables to the MM_keepForm string
For Each Item In Request.Form
  NextItem = "&" & Item & "="
  If (InStr(1,MM_removeList,NextItem,1) = 0) Then
    MM_keepForm = MM_keepForm & NextItem & Server.URLencode(Request.Form(Item))
  End If
Next

' create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL & MM_keepForm
if (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
if (MM_keepURL <> "")  Then MM_keepURL  = Right(MM_keepURL, Len(MM_keepURL) - 1)
if (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)

' a utility function used for adding additional parameters to these strings
Function MM_joinChar(firstItem)
  If (firstItem <> "") Then
    MM_joinChar = "&"
  Else
    MM_joinChar = ""
  End If
End Function
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<% if  request.cookies("event_user") = "" then %>
<form name="login" method="post" action="<%=MM_LoginAction%>">
  <span class="tekstfelter">brugernavn: </span><br>
  <input type="text" name="txtbrugernavn2" class="formfelter">
  <br>
  <span class="tekstfelter">adgangskode: </span><br>
  <input type="password" name="txtpassword2" class="formfelter">
  <input type="submit" name="Submit2" value="login" class="formknap">
</form>
<script language="JavaScript">
f=document.forms[0].txtbrugernavn;
f.select();
f.focus();
</script>
<% else %>
<% If Not events.EOF Or Not events.BOF Then %>
<table border="0">
  <tr>
    <td colspan="4"> Velkommen til: <%=(user.Fields.Item("bruger").Value)%> <a href="LOGOUT.ASP">[ logud ]</a> <br>
      <%
While ((Repeat1__numRows <> 0) AND (NOT events.EOF))
%>
      <A HREF="ide.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "event_id=" & events.Fields.Item("event_id").Value %>"><%=(events.Fields.Item("titel").Value)%></A> &nbsp;[ <A HREF="ide_edit.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "event_id=" & events.Fields.Item("event_id").Value %>">
      edit</A> ]<br>
      <%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  events.MoveNext()
Wend
%>
      <br>
      <%=request.cookies("event_user")%> </td>
  </tr>
  <tr>
    <td>titel: </td>
    <td nowrap><%=(events.Fields.Item("titel").Value)%></td>
    <td>&nbsp;</td>
    <td rowspan="10" valign="top" width="300">ide:<br>
      <%=(events.Fields.Item("ide").Value)%></td>
  </tr>
  <tr>
    <td>sted: </td>
    <td nowrap><%=(events.Fields.Item("sted").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>af/med::</td>
    <td nowrap><%=(events.Fields.Item("af").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>varighed: </td>
    <td nowrap><%=(events.Fields.Item("varighed").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>ansvarlig: </td>
    <td nowrap><%=(events.Fields.Item("ansvarlig").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>adresse:</td>
    <td nowrap><%=(events.Fields.Item("adresse").Value)%></td>
    <td width="20">&nbsp;</td>
  </tr>
  <tr>
    <td>kontakt:</td>
    <td nowrap><%=(events.Fields.Item("kontaktperson").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>telefon:</td>
    <td nowrap><%=(events.Fields.Item("telefon").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>email:</td>
    <td nowrap><%=(events.Fields.Item("email").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>webadresse: </td>
    <td nowrap><%=(events.Fields.Item("webadresse").Value)%></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="4">sekment: <br>
      <%=(events.Fields.Item("sekment_id").Value)%></td>
  </tr>
  <tr>
    <td colspan="4">
      <div align="right">
        <% if  request.cookies("login") = "" then %>
        <% else %>
        <%=(events.Fields.Item("broadcast").Value)%>
        <%end if%>
      </div>
    </td>
  </tr>
</table>
<% End If ' end Not events.EOF Or NOT events.BOF %>
<% end if %>
</body>
</html>
<%
user.Close()
%>
<%
events.Close()
%>
Avatar billede oasen Nybegynder
06. maj 2002 - 13:23 #1
Ja!
Avatar billede pelkjaer Nybegynder
06. maj 2002 - 13:26 #2
Nu kan jeg ikke se linje 158, men det løses således:

<% If Not recordsetnavn.EOF Or Not recordsetnavn.BOF Then %>
<A HREF="ditlink.asp?osv.osv.</A>
<% End If ' end Not recordsetnavn.EOF Or NOT maindata.BOF %>
Avatar billede pelkjaer Nybegynder
06. maj 2002 - 13:26 #3
maindata til sidst skal hedde recordsetnavn
Avatar billede jmc Nybegynder
06. maj 2002 - 13:54 #4
ja,
men jeg udskriver min tabel:

137 <% If Not events.EOF Or Not events.BOF Then %>
138 <table border="0">
<tr>
    <td colspan="4"> Velkommen ....
222 <% End If ' end Not events.EOF Or NOT events.BOF %>

fejlen er nu i linien: 
<td nowrap><%=(events.Fields.Item("titel").Value)%></td>
Avatar billede jmc Nybegynder
06. maj 2002 - 14:03 #5
til oasen
ja, men jeg tjekker jo ....
Avatar billede jmc Nybegynder
06. maj 2002 - 14:14 #6
det er et møjproblem.... ;o)
Avatar billede eagleeye Praktikant
06. maj 2002 - 14:57 #7
Benyt AND ikke OR.. og put ( ) omkring så man let kan se hvor det skille:

<% If (Not events.EOF) AND (Not events.BOF) Then %>
Avatar billede eagleeye Praktikant
06. maj 2002 - 14:58 #8
Hvis du vil benytte OR skal du din if se sådan her ud:

<% If NOT (events.EOF OR events.BOF) Then %>
Avatar billede jmc Nybegynder
06. maj 2002 - 15:12 #9
ved anvendelse af  <% If NOT (events.EOF OR events.BOF) Then %>

ADODB.Field error '800a0bcd'
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
Avatar billede eagleeye Praktikant
06. maj 2002 - 15:19 #10
har du en events.movenext ?
mellem linie 138 og 222
Avatar billede eagleeye Praktikant
06. maj 2002 - 15:21 #11
du har jo en while som køre indtil events.EOF i nogle tilfælde så det derfor...
Avatar billede eagleeye Praktikant
06. maj 2002 - 15:24 #12
whilen ligger inden for if-sætnigen:

<% If NOT (events.EOF OR events.BOF) Then %>


while not events.EOF
...
events.movenext
wend
'Nu er events.EOF true ...
så udskriver du fra events("kolonnnenavne") og det giver fejlen events.EOF eller events.BOF et sa til true...
Avatar billede jmc Nybegynder
06. maj 2002 - 15:25 #13
det ligger før udskrivningen af title

<%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  events.MoveNext()
Wend
%>

som jo kontrolleres af:
<%
Dim Repeat1__numRows
Repeat1__numRows = -1
Dim Repeat1__index
Repeat1__index = 0
events_numRows = events_numRows + Repeat1__numRows
%>

problemet sker lige inden
    <td nowrap><%=(events.Fields.Item("titel").Value)%></td>
Avatar billede eagleeye Praktikant
06. maj 2002 - 15:40 #14
Du har denne
While ((Repeat1__numRows <> 0) AND (NOT events.EOF))

Hvis Repeat1__numRows > antal recods i recordsetet så stopper din while ved (NOT events.EOF) og dermed er events.EOF sat til true. Så udsrkiver du den  record man er kommet til efter loopet i en tabel og hvis recordset er tom som det er nu så får du fejlen. Du må flytte loopet til efter du dskriver en record eller lave tjek af om recordsetet er tomt efter loopet...

Evt prøv at forklare din kode.. Det er jo ikke let for os lige at overskre 300 liniers kode..

if request.cookie("") then
'Bygger en søgeform
else
'Laver søeresultat..
if NOT events.EOF then
    While not evetns.EOF
      udskriverlinks
      events.movenext
    Wend
    Ukrive i en tabel den record man er kommet til???

  end if
end if
Avatar billede jmc Nybegynder
06. maj 2002 - 15:53 #15
Jeg viser:
1. login (hvis cookie er tom)
2. jeg udskriver en lille liste over records
3. jeg lister en record (hvis user_event har num)

jeg skal ud at par dage vender tilbage....
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