Delphi .NET (2) Database (71) Delphi IDE (89) Network (39) Printing (3) Strings (12) VCL (83) Windows with Delphi (280)
Exchange Links About this site Links to us 
|
Couldn't perform the edit because another user changed the record
9 comments. Current rating: (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.
Comments:
|
|
|
|
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.
|
|
|
|
|
sorry - use double(20,12) bde doesn't recognize decimal
|
|
|
|
|
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!
|
|
|
|
|
Another thing you might look at is changing the updatemode to upwherechange instead of updatewhereall
|
|
|
|
|
1
|
|
|
|
|
I'M REALLY FED UP WITH THESE BUGS IN BDE!!!
|
|
|
|
|
Don't use DBE tables , use dbgo connections, I resolved that in that way
|
|
|
|
|
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.
|
|
|
|
|
Hi,
if you use a field type of [bit], it can not be NULL.
|
|