We help IT Professionals succeed at work.

Strange ADO Error

bakry99
bakry99 asked
on
hi all,
  I have a strange Exception... that is:
'Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record'.

and this is All my code:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ADOStoredProc1.Open;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  ADOStoredProc1.Close;
end;

the exception happens when i execute the
  ADOStoredProc1.Close; !!!!!!!!!!!!!!!

Information:
   OS = Windows 2000
   Delphi 5
   MsSQL 2000

i executed the same program with :
  windows 2000
  Delphi 5
  msSQL 7.0
and it's work proper.

please tell me what's up !!!!!!!!!!!!!

thanks in advance

Bakry

 
Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2004
Commented:
ADOExpress update available for download - by John Kaster

       Abstract:An update to ADOExpress for Delphi 5 and C++ Builder 5 is freely available for
       immediate download

ADOExpress Update Patch

There is an update to ADOExpress that is available for immediate download for Delphi and C++ Builder
from our Developer Support pages.

This list includes only defects fixed since the Delphi 5 Update Pack (C++Builder 5 already includes the
Delphi update pack fixes, but not these ADO update fixes). For a list of fixes included in ADOExpress
update pack(s) go the following URL:
http://www.borland.com/devsupport/delphi/fixes/delphi501/database.html#ado 

Here are some notes on the fixes in this update.

90383: When using MDAC 2.6, closing an empty dataset will result in an "Either EOF or BOF..." exception.

76529: Parameters information is not availalbe for stored procedures that have spaces in the procedure
name.

76703: After a key violation occurs and then pressing escape to cancel the entry, the dataset appears to be
empty.

76832: If using a lookup field and a record has been deleted from the dataset in batch update mode, then
setting the FilterGroup to fgPendingRecords will raise an exception.

77421: An error occurs when trying to open a hierarchical dataset (from the shape provider), if the top level
dataset is empty.

78478: If the linking fields have different names in the Master and Detail tables, a "Field not found" error is
given when trying to insert a new detail.

79014: Multiselect grid operations do not work correctly when using server side cursors.

80521: Deleting a record with CacheSize > 1 on a TADODataset raises an exception that continually
repeats.

81024: When closing, an ADO Dataset should not explicitly close the Recordset object if it has been
assigned from an external source (through the Recordset property).

81183: The RecordStatus property returns the wrong value when inserting or appending a record.

81263: Data returned as adTinyInt or adUnsignedTinyInt from certain Providers may return incorrect values.

81327: Calling locate raises a "Record not found" exception when used on a filtered dataset and the value to
locate exists in the table but is excluded by the filter.
CERTIFIED EXPERT
Top Expert 2004

Commented:
means, get the update-patch and your problem should disappear

Author

Commented:
but i didn't find my problem there ...
CERTIFIED EXPERT
Top Expert 2004

Commented:
part paste from above:

>90383: When using MDAC 2.6, closing an empty dataset will result in an "Either EOF or BOF..." exception.
this sould be your problem, or?

Author

Commented:
yes kretzschmar.
 but i found the solution on
http://www.borland.com/devsupport/delphi/
thank you for all your help and interest

regards bakry

Explore More ContentExplore courses, solutions, and other research materials related to this topic.