Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 11 to 20 of 22 total |
Master Detail newbie |
Wed, Jan 7 2009 8:41 AM | Permanent Link |
Fernando Dias Team Elevate | Roy,
<< I'm not sure what you're saying, or what criteria you're applying. The approach does work. I guarantee that - I have (single and multi-user) systems in the wild using it. Think of it like a canned sql query. You could say that doesn't work either. >> Sorry, I don't mean your solution is not good, what I mean is it's not going to work as a live dataset in all aspects because each time another user changes detail records your filter condition may become out of sync with the current data. I said it's not going to work only because you mentioned as an advantage of this method the fact that the datasets continue to be live. << All three approaches work.>> Yes, but they don't produce the same results. <<The reason I invented this approach to start with was the speed issues with OnFilterRecord.>> That's really a big problem in some cases. I have a problem like this in an EDB application that I didn't manage to find a solution until now. It became a big problem when the application started to be used over an internet connection and since its's a multi-user app and I need a live result set, it's not easy. -- Fernando Dias [Team Elevate] |
Wed, Jan 7 2009 9:30 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Fernando
>Sorry, I don't mean your solution is not good, what I mean is it's not going >to work as a live dataset in all aspects because each time another user >changes detail records your filter condition may become out of sync with the >current data. I said it's not going to work only because you mentioned as an >advantage of this method the fact that the datasets continue to be live. Its live in the sense that any edits are reflected back to the dataset ie live as in not a canned sql dataset. Its not live in that changes by another cursor are not shown, in that respect its like a canned dataset. ><< All three approaches work.>> >Yes, but they don't produce the same results. True ><<The reason I invented this approach to start with was the speed issues >with OnFilterRecord.>> >That's really a big problem in some cases. >I have a problem like this in an EDB application that I didn't manage to >find a solution until now. >It became a big problem when the application started to be used over an >internet connection and since its's a multi-user app and I need a live >result set, it's not easy. Sure aint. If you do come up with a brilliant solution let us know. Roy Lambert [Team Elevate] |
Wed, Jan 7 2009 10:35 AM | Permanent Link |
Fernando Dias Team Elevate | Roy,
> Sure aint. If you do come up with a brilliant solution let us know. I'm waiting for Tim to come up with that brilliant solution Some time ago I asked him if there is any possibility, in a future EDB release, of having sensitive result sets with queries containing columns defined as query expressions, and he said he was going to see what can be done about that, so I hope we will find a solution so we can have it in a near future - but only in EDB, I'm afraid. -- Fernando Dias [Team Elevate] |
Wed, Jan 7 2009 11:13 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Fernando
>I'm waiting for Tim to come up with that brilliant solution >Some time ago I asked him if there is any possibility, in a future EDB >release, of having sensitive result sets with queries containing columns >defined as query expressions, and he said he was going to see what can >be done about that, so I hope we will find a solution so we can have it >in a near future - but only in EDB, I'm afraid. 1. I'm not sure I can get my head round that one 2. I only use DBISAM in the legacy stuff now so only ElevateDB is good enough for me. Roy Lambert |
Wed, Jan 7 2009 1:09 PM | Permanent Link |
silven | Roy Lambert <roy.lambert@skynet.co.uk> wrote:
Fernando >I'm waiting for Tim to come up with that brilliant solution >Some time ago I asked him if there is any possibility, in a future EDB >release, of having sensitive result sets with queries containing columns >defined as query expressions, and he said he was going to see what can >be done about that, so I hope we will find a solution so we can have it >in a near future - but only in EDB, I'm afraid. 1. I'm not sure I can get my head round that one 2. I only use DBISAM in the legacy stuff now so only ElevateDB is good enough for me. Thanks everyone for the all the replies and different solutions... I already provide my client solution a bit sluggish but a quick patch. I will try the OnFilterRecord event to see if this will speed thinks up a bit... since the number of items in the Master table will not be huge maybe 100 - 200 items at most , I hope it will be sufficient. Fernando, I have added a line similar to this one Accept := DetailTable.Locate('ID',MasterTable.FieldByName('ID').AsInteger,[]); inside the OnFilterEvent (method) of the MasterTable and it seems to be producing the proper results. Is there a better way? I will do more test. Thanks, Silven Roy Lambert |
Wed, Jan 7 2009 1:55 PM | Permanent Link |
Fernando Dias Team Elevate | Silven,
<< I have added a line similar to this one Accept := DetailTable.Locate('ID',MasterTable.FieldByName('ID').AsInteger,[]); inside the OnFilterEvent (method) of the MasterTable and it seems to be producing the proper results. Is there a better way?>> It's ok as far as DetailTable is not the same component you are using to display detail records in the grid. You may also use FindKey instead of Locate - I believe it may be slightly faster (I'm not sure it's noticeable - you may test it to see if there is any difference). -- Fernando Dias [Team Elevate] |
Wed, Jan 7 2009 2:11 PM | Permanent Link |
silven | Fernando Dias <fernandodias.removthis@easygate.com.pt> wrote:
Silven, << I have added a line similar to this one Accept := DetailTable.Locate('ID',MasterTable.FieldByName('ID').AsInteger,[]); inside the OnFilterEvent (method) of the MasterTable and it seems to be producing the proper results. Is there a better way?>> It's ok as far as DetailTable is not the same component you are using to display detail records in the grid. You may also use FindKey instead of Locate - I believe it may be slightly faster (I'm not sure it's noticeable - you may test it to see if there is any difference). -- Fernando Dias [Team Elevate] Fernando, Thanks for the help... Yes I did follow your advice and use a different component. Thanks, Silven |
Thu, Jan 8 2009 7:40 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Roy,
<< 1. I'm not sure I can get my head round that one >> It's a way of doing "lookups" in query expressions while still maintaining a sensitive result set. For example: SELECT CustNo, (SELECT Company FROM Customer WHERE CustNo=Orders.CustNo) AS Company, OrderNo FROM Orders ORDER BY CustNo Once I get such a feature working, you will then have a read-only column called Company in a sensitive result set. Right now such a query will always generate an insensitive result set. -- Tim Young Elevate Software www.elevatesoft.com |
Thu, Jan 8 2009 8:14 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Tim
If you achieve that does it open the way to virtual columns with lookups in the catalog??????? Roy Lambert |
Thu, Jan 8 2009 12:08 PM | Permanent Link |
"Eduardo [HPro]" | Tim
This is only for ElevateDB but does not work on DBISAM. Eduardo |
« Previous Page | Page 2 of 3 | Next Page » |
Jump to Page: 1 2 3 |
This web page was last updated on Saturday, May 4, 2024 at 12:54 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |