Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 4 of 4 total |
Getting Current Data in Local Multi-User mode |
Tue, May 15 2007 3:56 PM | Permanent Link |
Gordon Turner | In my application I use a combination of direct table access for adding
and deleting records, and SQL queries for retrieving data (working in Local mode). When I have two users accessing the same data, I've noticed that when one user adds a new record (via direct table access), the second user cannot see the new record with an SQL query until the table component has been refreshed. I would hate to have to refresh tables every time I execute an SQL query just to make sure I am retrieving the most current data as I'm not sure of the performance implications. I perform a FlushBuffers in the AfterPost event of every table, and I set the ForceBufferFlush property in the Session to True as well. What else do I need to do to or how else can I make sure I'm seeing the most current data. (Client/Server mode is not an option at this time.) (I guess I'm surprised that an SQL query goes against a buffered data set and not the actual tables, or that a FlushBuffers does not force a write to the actual tables to make the data available for an SQL query.) -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Tue, May 15 2007 5:31 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Gordon,
<< In my application I use a combination of direct table access for adding and deleting records, and SQL queries for retrieving data (working in Local mode). When I have two users accessing the same data, I've noticed that when one user adds a new record (via direct table access), the second user cannot see the new record with an SQL query until the table component has been refreshed. >> Is the query result set sensitive (live) ? Are you closing and then re-opening the query or just calling Refresh for the TEDBQuery component ? -- Tim Young Elevate Software www.elevatesoft.com |
Tue, May 15 2007 6:23 PM | Permanent Link |
Gordon Turner | Tim Young [Elevate Software] wrote:
> > Is the query result set sensitive (live) ? Are you closing and then > re-opening the query or just calling Refresh for the TEDBQuery component ? I'm using a single TEDBBQuery component as follows: Active := False; SQL.Clear; SQL.Add(sQueryText); Active := True; I added a RequestSensitive := True before the Active := True but that didn't seem to make any difference. Is there a difference between setting the Active property and the Open/Close methods for a query with no parameters? -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Thu, May 17 2007 2:08 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Gordon,
<< I'm using a single TEDBBQuery component as follows: Active := False; SQL.Clear; SQL.Add(sQueryText); Active := True; I added a RequestSensitive := True before the Active := True but that didn't seem to make any difference. Is there a difference between setting the Active property and the Open/Close methods for a query with no parameters? >> No, that won't make any difference. Check the TEDBQuery.Sensitive property after setting Active to True in order to verify that the result set is actually sensitive. The rules for sensitive queries is here: http://www.elevatesoft.com/edb1sql_result_set_cursor_sensitivity.htm -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Monday, May 6, 2024 at 03:23 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |