Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 10 of 13 total |
Eof fails ? |
Wed, May 10 2006 7:24 AM | Permanent Link |
"Jose Eduardo Helminsky" | One of my customers complains about a following situation:
TIno.SetRange([TNotNum.Value],[TNotNum.Value]); TIno.First; while not TIno.Eof do begin // Generate a record on another table TMov TIno.Edit; TInoVal.Value := 'OK'; TIno.Post; TIno.Next; end; DBISAM 4.22 b4, Delphi6 running on C/S environment and I am *pretty SURE* that the server didn't crash. In that situation, TIno had just one record and there are *two* records on TMov referencing TIno. What I am intend to understand is *how* this can occurs. The code is inside a restricted transaction. This is very rare but it should never occurs. Eduardo |
Wed, May 10 2006 12:46 PM | Permanent Link |
"Robert" | Changing a value has made the record be out of the filter (or setrange) so
the Next bring you to eof. Robert "Jose Eduardo Helminsky" <contato@hpro.com.br> wrote in message news:FEE6E0C1-181D-4E11-8BB7-69CB9879E445@news.elevatesoft.com... > One of my customers complains about a following situation: > > TIno.SetRange([TNotNum.Value],[TNotNum.Value]); > TIno.First; > while not TIno.Eof do begin > // Generate a record on another table TMov > > TIno.Edit; > TInoVal.Value := 'OK'; > TIno.Post; > TIno.Next; > end; > > DBISAM 4.22 b4, Delphi6 running on C/S environment and I am *pretty SURE* > that the server didn't crash. > > In that situation, TIno had just one record and there are *two* records on > TMov referencing TIno. What I am intend to understand is *how* this can > occurs. The code is inside a restricted transaction. This is very rare but > it should never occurs. > > Eduardo > > |
Wed, May 10 2006 1:44 PM | Permanent Link |
"Jose Eduardo Helminsky" | Robert
I agree with you but this is not the case. The value of keys fields were untouched, I've changed another field but EOF should be True and if you read again my code you will see if there is only one record in the table filtered but while..end process it twice. BTW, thanks. Eduardo |
Wed, May 10 2006 3:44 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Eduardo,
<< In that situation, TIno had just one record and there are *two* records on TMov referencing TIno. What I am intend to understand is *how* this can occurs. The code is inside a restricted transaction. This is very rare but it should never occurs. >> If what you say is the case, then it shouldn't occur if the table is in good shape. Also, were you able to reproduce this ? If so, please send me the table that you're using. Thanks, -- Tim Young Elevate Software www.elevatesoft.com |
Wed, May 10 2006 3:45 PM | Permanent Link |
"Frans van Daalen" | "Jose Eduardo Helminsky" <contato@hpro.com.br> wrote in message news:EDE47BD4-C18F-4ED1-A626-6F054504A389@news.elevatesoft.com... > Robert > > I agree with you but this is not the case. The value of keys fields were > untouched, I've changed another field but EOF should be True and if you > read again my code you will see if there is only one record in the table > filtered but while..end process it twice. > > BTW, thanks. > > Eduardo > Any sorts on the Tino that is affected by the TinoVal value of 'OK'.? I agree with Robert that the best guess is that the edit is the one to blame in reordering the resultset and therefor resetting its position on the record in the table. If you can simple reproduce it than add a TIno2 and edit this one. and see if the problem stays |
Wed, May 10 2006 4:40 PM | Permanent Link |
"Jose Eduardo Helminsky" | Frans
The fields changed doesn't belong to the range neither to the index key and therefore any changes can't alter the order of TIno. Eduardo |
Wed, May 10 2006 4:42 PM | Permanent Link |
"Jose Eduardo Helminsky" | Tim
> If what you say is the case, then it shouldn't occur if the table is in > good shape. Also, were you able to reproduce this ? If so, please send > me the table that you're using. I will try to verifytable tonight. Right now I can't reproduce it. This is a very rare but it happened at least two times from last three months. Eduardo |
Thu, May 11 2006 4:45 AM | Permanent Link |
Arnd Baranowski | Eduardo,
What processor does your customer have? We had something like that to happen on an AMD, while everything on an Intel went as it should. It happened only once on one of our notebooks. However on this notebook it was reproducable. Arnd Jose Eduardo Helminsky wrote: > One of my customers complains about a following situation: > > TIno.SetRange([TNotNum.Value],[TNotNum.Value]); > TIno.First; > while not TIno.Eof do begin > // Generate a record on another table TMov > > TIno.Edit; > TInoVal.Value := 'OK'; > TIno.Post; > TIno.Next; > end; > > DBISAM 4.22 b4, Delphi6 running on C/S environment and I am *pretty SURE* > that the server didn't crash. > > In that situation, TIno had just one record and there are *two* records on > TMov referencing TIno. What I am intend to understand is *how* this can > occurs. The code is inside a restricted transaction. This is very rare but > it should never occurs. > > Eduardo > > |
Thu, May 11 2006 6:17 AM | Permanent Link |
"Jose Eduardo Helminsky" | Arnd
The processor is Intel and I can't reproduce the error. Eduardo |
Thu, May 11 2006 6:53 AM | Permanent Link |
"Robert" | "Jose Eduardo Helminsky" <contato@hpro.com.br> wrote in message news:6D8D997D-3639-4D7D-AE90-D30B8CE9AFAA@news.elevatesoft.com... > Arnd > > The processor is Intel and I can't reproduce the error. > Is it possible that you have set a filter on the table that did not get removed? That could explain the sporadic problem, it would appear only when the filter is on, so it would depend on what the user did before this function. You could do a search on all the programs for table.filter. Robert |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Thursday, April 18, 2024 at 10:42 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |