• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1070
  • Last Modified:

TAdoTable problem

I'm trying to program database application with delphi. I'm using Access 2000 as database and open it with TAdoConnection. Database provider is Microsoft Jet Ole DB 4. I'm using TAdoTable to open the table. I use client-side cursor and ctstatic cursor type.

My problem is, if I'm closing the TADOTable when the table is empty, It creates an error. The error is:

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

Why is this happenning and how to handle it? Thank you.
  • 2
1 Solution

you may find following article

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.

meikl ;-)
That's it.

Apply the update and your problem is gone....

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now