Page doesn't load all recordsets. Need a ONE TIME page refresh on load...

Posted on 2009-04-03
Last Modified: 2012-05-06
Experts, I'm back again... I have over 1300 lines of code and posting it is going to bore you half to death.  Here's the situation: I have a page that loads and not all the recordsets load the first time. I get an EOF or BOF error, "Sometimes".  Then you refresh the page and the error goes away.

Here's the error:
ADODB.Field error 800a0bcd

Either BOF or EOF is True, or the current record has been deleted.  Requested operation requires a current record.

/webproject/project-dashboard.asp, line 1330

The problem isn't EOF or BOF because when I refresh the page, there's no error.  It doesn't make sense. It happens only for some users and not others. I have totals that are coming in from the database and either I get the results from a previous project or all "0s" (Zeros).  Then I refresh the page and all the totals are there. Bizzar.

To me, it doesn't make any sense why on a refresh (reload) the page retrieves the data fine but on first load it doesn't.  I have the proper meta tags for PRAGMA No-Cache and the like so that's not the problem.

Trying a window.location.reload() firing this from the BODY ONLOAD event causes an infinite reloading loop. Not good.

So how do I cause a REFRESH ONLY ONCE when this page loads or am I looking at a bigger problem or something really simple?  If you really want the code, I'll paste it... but believe me, it's over 1300 lines.
Question by:pborregg
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
LVL 10

Assisted Solution

MaxOvrdrv2 earned 250 total points
ID: 24065639
well, first off, this shouldn't be happening... if your SQL and your ASP is correct, there shouldn't be a page refresh issue. Unless you're using access and there are a ton of users hitting the DB at the same time. Otherwise, should be fine. An easy way is with the querystring object:

after you load all of the records, do this:

if Request.QueryString("loaded")=0 OR IsNull(Request.QueryString("loaded")) then
end if

that should refresh only once.

LVL 10

Assisted Solution

MaxOvrdrv2 earned 250 total points
ID: 24065640
and if you are willing, i could look at your code for you... just upload it in .txt format... rename your .asp page to .txt and upload, and i'll check it... i've got nothing to do for a while so i'm up for it.

LVL 15

Accepted Solution

fsze88 earned 250 total points
ID: 24065643
like this?

<script language="javascript">
function setCookie(c_name,value,expiredays){
  var exdate=new Date();
  document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
function getCookie(c_name){
if (document.cookie.length>0)
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    c_start=c_start + c_name.length+1;
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
return "";
<script type="text/javascript">
var reloaded = getCookie('reloaded');
if (reloaded == '' || reloaded == 'false'){
  document.write("needs reload");
//  setTimeout('window.location.reload()',2000);

Open in new window

What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.


Author Closing Comment

ID: 31566496
You're all geniuses...

I have to rebuild the code you wrote.... MaxOvrdrv2 for JScript but it works nonetheless.

if(Request.QueryString("pid")=="" || Request.QueryString("pid")==null)

fsze88 your code works too... I had to add them both and they're working in tandum. Brilliant!!!!

Author Comment

ID: 24068936
FSZE 88: can you explain your code above in Psuedo-Code so I can explain it to the NON-PROGRAMMERS please?


LVL 15

Expert Comment

ID: 24069855
Okey, sure!
It is reading cookie variables from each client. cookie means client browsers local variable, each browsers (ie, ff, safari, opera, chrome) having their own cookie variable.... e.g. you can store cookie at ie browser and read it as well, but it can't be read by another browser and so on of ff, safari, opera..
I have javascript function setCookie(c_name,value,expiredays) that store variable name, value, expireday. getCookie(c_name) return the value of variable of the name c_name....
at the beginning, there is no cookie on browsers so the first line
var reloaded = getCookie('reloaded');
it should be '',  set the variable named reloaded to be true and force it to be reload by window.location.reload();
after refreshed set the variable named reloaded to false and force it to be reload by window.location.reload(); in later on...

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question