DelphiFAQ Home Search:

Couldn't perform the edit because another user changed the record

 

comments10 comments. Current rating: 5 stars (2 votes). Leave comments and/ or rate it.

Question:

When I edit a record with more that 15 digits after the decimal place, I get BDE error 10259 ($2813):

'Couldn't perform the edit because another user changed the record.'

- why?

Answer:

The BDE has a limit of 15 decimals after the decimal separator. As you post the updated record, the BDE refetches the row to make sure it still exists (and was not changed). To do so, it uses the data it originally fetched.
It only fetches up to 15 digits, so the data the BDE has and data on the server don't match. The server returns that the fetch returned no records which causes the BDE to generate its error.


Content-type: text/html

Comments:

2005-11-10, 10:28:04
anonymous from United States  
rating
Use decimal instead of double and indicate the number of decimal places to use

e.g. DECIMAL (20,12)

This will allow the BDE to match the data.
2005-11-10, 11:08:04
anonymous from United States  
sorry - use double(20,12) bde doesn't recognize decimal
2005-11-21, 15:24:40
anonymous from United States  
latest info - use decimal
If you are using MySQL 5.03 or later you will need to get MyODBC version 3.51.12 or later for it to work with the BDE. Earlier versions try to return a character string for decimals.

Even if you define double(20,15) which should match the BDE expectations, it will not work in some cases (repeating decimals). Out of 100000 records I had five that would not process because of this problem!
2006-02-14, 15:19:46
anonymous from United States  
rating
Another thing you might look at is changing the updatemode to upwherechange instead of updatewhereall
2006-12-06, 09:08:45
anonymous from Brazil  
1
2007-01-17, 02:33:50
anonymous from Slovak Republic  
I'M REALLY FED UP WITH THESE BUGS IN BDE!!!
2007-08-29, 12:17:20
anonymous from Colombia  
Don't use DBE tables , use dbgo connections, I resolved that in that way
2008-06-21, 08:16:34
anonymous from Mexico  
Hi, if you have this kind of problem, I used than updatemode to upwherechange instead of updatewhereall in the TQuery component and it´s works for me.
2009-02-15, 00:44:34
anonymous from Iran  
Hi,
if you use a field type of [bit], it can not be NULL.
2012-09-19, 11:57:10
anonymous from Brazil  
Our friend from Iran is quite sure

 

 

NEW: Optional: Register   Login
Email address (not necessary):

Rate as
Hide my email when showing my comment.
Please notify me once a day about new comments on this topic.
Please provide a valid email address if you select this option, or post under a registered account.
 

Show city and country
Show country only
Hide my location
You can mark text as 'quoted' by putting [quote] .. [/quote] around it.
Please type in the code:

Please do not post inappropriate pictures. Inappropriate pictures include pictures of minors and nudity.
The owner of this web site reserves the right to delete such material.

photo Add a picture: