URGENT! Forms not saving data (intermittent)

I am getting reports of users that are editing data in the database, using Servoy, and if they click next record and go back to the same record they find the data returned to how it was before editing.

They can usually relaunch Servoy and things will work ok for next 15 records or so. This happens when they Edit or Delete data.

We are running 2.2.

I will look into this further but was wondering if anyone else has had issues like this.

Not a known issue. Please send reproduceable case to: support@servoy.com

You might also want to check what events you have hooked up to that form and/or the buttons that go back and forward. If you are using transactions investigate what happens if you temporarily turn it off.

UPDATE:
We moved our web server and mySQL tables to another (much faster) machine with latest public stable release.

Updated jdbc driver.

I implemented the default Servoy controller for a test run to eliminate my methods from the mix.

I checked the log that displays the queries Server is sending to mySQL.

I have even had the users do an F6 (save data) before leaving the fields they are experiencing the issue with the most.

None of these things have fixed the situation or lead me in a direction of a fix.

Still looking for cause. Any other suggestions are welcome.

Hi Apeware,

we are having similar problems with mySQL. Have you found a solution to your problem? Does upgrading to 2.2.1RC2 help?

I have not heard any complaints, nor have I seen the issue myself lately (lately = since mid July). I will poll our crew and verify that they are not still having the problem (or have gotten so used to it that they no longer complain).

I have not been able to pin point a reason for this issue, nor reliably duplicate it.

the question is do you see update statements in the server log?
(if you enabled tracing?)

So is the save data done really to the server?

We’ve experienced a very similar problem. Occurs only if there’s just one record in the form. The new record is created but not loaded into the form. As a result any action the user takes into what they think of as a new record actually goes into an existing record. Happens in several forms, no apparent reason why one form and not another.

We’ve partially solved it by adding the “true” argument to the new record command – newRecord(true).

We thought that was the end of it until we discovered one form where even this workaround doesn’t take. Which forces us to test for the number of current records and load all if there’s just one.

Not believing what we were seeing, we created a test solution. Happens there as well, so we know it’s not due to some other complication within our solution.

We’re running ASA. Problem was first discovered last March, so it’s not created by recent releases of Servoy.

We have had some complaints that records have been been overwritten while empty records were found in the database. The probem described by Morley is an explanation for that. It seems to happen rarely with us and unfortunately I don’t know any details.

Morley:
Not believing what we were seeing, we created a test solution. Happens there as well, so we know it’s not due to some other complication within our solution.

Can you send that solution, including steps to reproduce to: support@servoy.com
We love isolated bugs that are reproduceable, helps as significantly to get a fix out very soon.

so you have a foundset with 1 record
you do newRecord() (then you should have 2 but you still have 1?)
Or is the wrong one selected? So you have 2 but number 1 i selected and not the new record on index 2?

If you do true then that means that you add the new record to the top of the foundset and select that one. So if then everything goes ok then somehow the record is there but not selected right.

jcompagner:
so you have a foundset with 1 record
you do newRecord() (then you should have 2 but you still have 1?)

Still have just the one record that was there originally. The unwitting user is now in a situation of entering data into an existing record.

This command```
var newrecord = newRecord(true);


> jcompagner:
> Or is the wrong one selected? So you have 2 but number 1 i selected and not the new record on index 2?
> 
> If you do true then that means that you add the new record to the top of the foundset and select that one. So if then everything goes ok then somehow the record is there but not selected right.

See above. Sample solution demonstrating the problem has been uploaded to <a href="mailto:support@servoy.com">support@servoy.com</a>.