Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
TableUpdate and SQL string is too long
Message
From
11/11/2004 16:01:58
 
 
To
10/11/2004 13:15:49
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00959751
Message ID:
00960633
Views:
12
Hi Hilmar,

I have done the test, and indeed you lose automatic conflict managment when you tell your view to check for "key fields only". Exactly speaking you don't lose it completely, you restrict conflict management to "key fields only", which is almost like losing it.

VFP help is very clear at this respect. Opne the view desinger, go to the update criteria page on the page frame, and hit F1. You can read there that VFP generates a SQL WHERE clause that checks ONLY for what you specify there.

So with views with many fields (I would say over 50 as my case), you can't rely on VFP conflict management.

If you have tested otherwise, please let me know.
Thanks,
Javier.

>
>Aha, I think I am beginning to understand. You mean that when VFP forces the update, it will not check if the fields were modified - and thus, generate a shorter statement.
>
>I think that VFP will check its buffers (the ones accesible with oldval()) with the value on disk, before committing changes.
>
>If you don't trust my opinion on this (and you shouldn't, when it comes to something as important as update conflicts), try the following: open the same form twice, and select the same record. Make changes in Form1, then in Form2. Save in Form1, then in Form2. If you don't force the update, you should not be able to save in the second form.
>
>>What I loose using "Key fields only" is the automatic conflict management, which I can do elsewhere.
>
>I don't think you lose conflict management if you use buffering. You will lose it, if you use forced updates - but that is quite a different issue.
>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform