Solved

locate method on ADODataset

Posted on 2001-09-18
10
1,082 Views
Last Modified: 2008-02-07
Hi,

I have a filtered ADODataset and Im calling the locate method on it. I am finding that the method is not working consistently - sometimes it returns TRUE even when I know a record does not exist. I also get the BOF or EOF error when calling locate on an empty dataset. I have applied the ADO update patch for Delphi 5 and still get the quirky behaviour.

Any feedback or tips regarding using locate on a filtered adodataset will be welcomed.

0
Comment
Question by:benjvr
10 Comments
 
LVL 6

Expert Comment

by:Stuart_Johnson
ID: 6490490
Hi benjvr,

This seems to be a problem that has occured with ADO since day one.  I've never got it to work consistently.  I just use the standard TTable instead.  That works fine.

Stu
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 6490512
Hello
 
  locate working fine with me, which database you are using?

  and try to filter ur data using SQL (from commandtext property) instead of filter property, and try that again

Best regards
Mohammed Nasman
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 6490526
I mean by using SQL using where clause in the commandtext property)

 ADODataSet1.CommandText := 'select * from customers where city = "anycity"';
  ADODataSet1.Open;
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 44

Expert Comment

by:CrazyOne
ID: 6490635
Yeah ADO locate doesn't work consistently for me either using MS Access, mainly on text fields.


The Crazy One
0
 
LVL 6

Expert Comment

by:Stuart_Johnson
ID: 6490636
Hi Mohammed,

It does work, but not all the time.  Sometimes the result will return false even when we know that the locate should work.  It's not reliable enough to be get a constant result.

I've only tried it from MS Access 97, 2000 and SQL Server 7.0.  It may work fine with other DBs.

Cheers!

Stu.

PS.  Sorry benjvr - I guess it sounds like I'm hogging the question, but it's not intentional.  I'm just adding my thoughts in as we both seem to be having the same problem.
0
 
LVL 6

Accepted Solution

by:
Stuart_Johnson earned 200 total points
ID: 6490649
Just a thought, I heard a while ago that ADO Express (the standard version shipped with D5) was buggy.  Have you upgraded your ADO Express at all (available to download from Borlands website)?  Also, installing MDAC 2.5+ maybe an advantage.

When I was developing an MTS component, I had all sorts of problems with ADO Express.  I ended up importing the ADO type library (\program files\common files\system\ado) and used that.  It takes a bit longer to code around, but it stopped all the errors!!

Cheers,

Stu.
0
 

Expert Comment

by:omavideniz
ID: 6861196
It is a bug in the Locate method.

Here you can find a good and free component which corrects this bug and others:
http://web.orbitel.bg/vassil/
0
 
LVL 6

Expert Comment

by:Stuart_Johnson
ID: 6862694
Seeing as though this question has been posted in again, I might ask the benjvr if he has solved the problem, or if any of our suggestions have worked.  I'm still standing by my orginal post.

Stu.
0
 
LVL 17

Expert Comment

by:geobul
ID: 9308608
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

accept Stuart Johnson's comment as answer

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Thanks,

geobul
EE Cleanup Volunteer
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

Suggested Solutions

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

806 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