For a while when my app was still on DBFs (instead of Sql Server) I used Table Buffering, with TableUpdate() and TableRevert() on all my CRUD forms. I remember that it could get tricky keeping it all working correctly in the UI, but in the end I had a pretty good pattern in place. I took the path of making the user take the form into Edit Mode, then they could Save or Cancel, and I handled TableUpdate() or TableRevert() accordingly.
Anyway, I'm just trying to get a feel for how broadly used is Table Buffering is in DBF-based apps?? It it a low number like 10%, or maybe 30%?
Did any of the other XBase language every have this table buffering paradigm in them?
I'm probing into this as (self-assigned) research so I can enlighten the X# Dev Team if this is something they may face as a common pattern in VFP apps if anyone tried to move this sort of app over to X# one day.
Matt,
I can'tdo without buffering in VFP. I dont think it is otherwise possible to do a proper UNDO. If not I am willing to learn how one can do an undo / redo without Buffering=5 If X# will produce a product without buffering that would mean a show stopper to me.
Regards, Koen
Op ma 25 nov. 2019 om 18:23 schreef Matt Slay mattslay@jordanmachine.com:
For a while when my app was still on DBFs (instead of Sql Server) I used Table Buffering, with TableUpdate() and TableRevert() on all my CRUD forms. I remember that it could get tricky keeping it all working correctly in the UI, but in the end I had a pretty good pattern in place. I took the path of making the user take the form into Edit Mode, then they could Save or Cancel, and I handled TableUpdate() or TableRevert() accordingly.
Anyway, I'm just trying to get a feel for how broadly used is Table Buffering is in DBF-based apps?? It it a low number like 10%, or maybe 30%?
Did any of the other XBase language every have this table buffering paradigm in them?
I'm probing into this as (self-assigned) research so I can enlighten the X# Dev Team if this is something they may face as a common pattern in VFP apps if anyone tried to move this sort of app over to X# one day.
-- *Matt Slay*, President Jordan Machine Co. 355 Clow Lane PO Box 170339 Birmingham, AL 35217 Ph: 205-849-5050 Fx: 205-849-5075 mattslay@jordanmachine.com mailto:mattslay@jordanmachine.com http://www.JordanMachine.com
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]
Matt,
I use Buffering=5 in my product as well.
Tracy
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Koen Piller Sent: Monday, November 25, 2019 12:28 PM To: profoxtech@leafe.com Subject: Re: How common is Table Buffering with DBFs??
Matt,
I can'tdo without buffering in VFP. I dont think it is otherwise possible to do a proper UNDO. If not I am willing to learn how one can do an undo / redo without Buffering=5 If X# will produce a product without buffering that would mean a show stopper to me.
Regards, Koen
Op ma 25 nov. 2019 om 18:23 schreef Matt Slay mattslay@jordanmachine.com:
For a while when my app was still on DBFs (instead of Sql Server) I used Table Buffering, with TableUpdate() and TableRevert() on all my CRUD forms. I remember that it could get tricky keeping it all working correctly in the UI, but in the end I had a pretty good pattern in place. I took the path of making the user take the form into Edit Mode, then they could Save or Cancel, and I handled TableUpdate() or TableRevert() accordingly.
Anyway, I'm just trying to get a feel for how broadly used is Table Buffering is in DBF-based apps?? It it a low number like 10%, or maybe 30%?
Did any of the other XBase language every have this table buffering paradigm in them?
I'm probing into this as (self-assigned) research so I can enlighten the X# Dev Team if this is something they may face as a common pattern in VFP apps if anyone tried to move this sort of app over to X# one day.
-- *Matt Slay*, President Jordan Machine Co. 355 Clow Lane PO Box 170339 Birmingham, AL 35217 Ph: 205-849-5050 Fx: 205-849-5075 mattslay@jordanmachine.com mailto:mattslay@jordanmachine.com http://www.JordanMachine.com
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]
The couple systems I have left using dbfs use table buffering
On 25 November 2019 13:23:00 GMT-04:00, Matt Slay mattslay@jordanmachine.com wrote:
For a while when my app was still on DBFs (instead of Sql Server) I used Table Buffering, with TableUpdate() and TableRevert() on all my CRUD forms. I remember that it could get tricky keeping it all working correctly in the UI, but in the end I had a pretty good pattern in place. I took the path of making the user take the form into Edit Mode,
then they could Save or Cancel, and I handled TableUpdate() or TableRevert() accordingly.
Anyway, I'm just trying to get a feel for how broadly used is Table Buffering is in DBF-based apps?? It it a low number like 10%, or maybe
30%?
Did any of the other XBase language every have this table buffering paradigm in them?
I'm probing into this as (self-assigned) research so I can enlighten the X# Dev Team if this is something they may face as a common pattern in VFP apps if anyone tried to move this sort of app over to X# one day.
-- *Matt Slay*, President Jordan Machine Co. 355 Clow Lane PO Box 170339 Birmingham, AL 35217 Ph: 205-849-5050 Fx: 205-849-5075 mattslay@jordanmachine.com mailto:mattslay@jordanmachine.com http://www.JordanMachine.com
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
Post Messages to: ProFox@leafe.com Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: https://leafe.com/archives This message: https://leafe.com/archives/byMID/da156899-bb36-e7ca-86b2-912b4f4167f2@jordan... ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious. Report [OT] Abuse: http://leafe.com/reportAbuse/da156899-bb36-e7ca-86b2-912b4f4167f2@jordanmach...
Table buffering is very common. Basically all frameworks are using it. Can't do any decent multiuser handling without it. Yes you could do a simplier record-buffering mode, but as soon as you are faced with the typical 1:n editform, then you would need to have tablebuffering anyway.
All are saying the same thing...but I know I use the method Charlie Coleman showed me probably 20 years ago using local cursors and having my n-tier framework code handle the updates. I basically get the data into a VFP cursor. For add/edit mode, I scatter the cursor into an object and my edit forms use thisform.oRecord.Whatever for control sources. If user wants to save, edit form sends back signal to calling form which then passes the MyEditForm.oRecord object to the backend for INSERT INTO or SEEK-and-GATHER for update operations. That's a simplified process but that's basically it. But to be fair, I haven't use DBFs in my designs since seeing Bob Lee's n-tier demo at WhilFest in 2002 or 2003. Prior to that, I used local VFP views (table-buffered) for my apps.
On 11/25/2019 1:51 PM, Jürgen Wondzinski wrote:
Table buffering is very common. Basically all frameworks are using it. Can't do any decent multiuser handling without it. Yes you could do a simplier record-buffering mode, but as soon as you are faced with the typical 1:n editform, then you would need to have tablebuffering anyway.
[excessive quoting removed by server]
That said...I do use buffering on those local cursors to allow me to revert to what it was prior to my changes (as per the last query).
On 11/25/2019 5:29 PM, MB Software Solutions, LLC wrote:
All are saying the same thing...but I know I use the method Charlie Coleman showed me probably 20 years ago using local cursors and having my n-tier framework code handle the updates. I basically get the data into a VFP cursor. For add/edit mode, I scatter the cursor into an object and my edit forms use thisform.oRecord.Whatever for control sources. If user wants to save, edit form sends back signal to calling form which then passes the MyEditForm.oRecord object to the backend for INSERT INTO or SEEK-and-GATHER for update operations. That's a simplified process but that's basically it. But to be fair, I haven't use DBFs in my designs since seeing Bob Lee's n-tier demo at WhilFest in 2002 or 2003. Prior to that, I used local VFP views (table-buffered) for my apps.