Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [Paradox]FindKey auf einem Rechner ja, auf anderem nicht? (https://www.delphipraxis.net/39006-%5Bparadox%5Dfindkey-auf-einem-rechner-ja-auf-anderem-nicht.html)

Thanatos81 27. Jan 2005 12:13


[Paradox]FindKey auf einem Rechner ja, auf anderem nicht?
 
Hi Leute!

Folgendes Phänomen: auf meinem Rechner funktioniert der FindKey wunderbar, bei einer anderen Station nicht. Die Datenbank liegt im Netz, wir greifen also auf die selben Tabellen zu. Und ich kanns mir nicht erklären. Anbei mal das Codeschnipsel.
Delphi-Quellcode:
      dm.adressen.active := true;
      dm.adressen.Filter := '';
      dm.adressen.Filtered := false;
      dm.adressen.indexname := '';

      if timer1.enabled
        then timer1.enabled := false;
      dm.rekopf.indexname := 'Datum';
      dm.rekopf.first;

      while not(dm.rekopf.Eof) do
        begin
          dm.adressen.first;
          if dm.adressen.findkey([dm.rekopf.fieldbyname('adressnummer').asinteger]) then
            s := dm.adressen.fieldbyname('nummer').asstring + ' ' + dm.adressen.fieldbyname('krz').asstring
          else
            s := dm.rekopf.fieldbyname('adressnummer').asstring + ' wurde nicht gefunden!';
Bei dem zweiten Rechner springt er zu ca. 90% in die else. Hab ich irgendwie ein Brett vorm Kopp?

Schönen Gruß,

SubData 27. Jan 2005 12:23

Re: [Paradox]FindKey auf einem Rechner ja, auf anderem nicht
 
Passiert das wenn beide gleichzeitig drauf zugreifen? Dann haste wahrscheinlich einfach nur Kollision (Die aktuelle Zeile ist gesperrt).

Thanatos81 27. Jan 2005 12:24

Re: [Paradox]FindKey auf einem Rechner ja, auf anderem nicht
 
Ne, ist völlig unabhängig. Passiert auch, wenn Rechner 2 als einziger angemeldet ist.

SubData 27. Jan 2005 12:27

Re: [Paradox]FindKey auf einem Rechner ja, auf anderem nicht
 
Ich glaube zwar nicht, dass es daran liegt aber korrigier mal das hier:

Delphi-Quellcode:
      dm.rekopf.first;

      while not(dm.rekopf.Eof) do
        begin
          dm.adressen.first;     <= das kann weg...
Oder mach aus dem FindKey mal n SetRange...

Thanatos81 27. Jan 2005 12:34

Re: [Paradox]FindKey auf einem Rechner ja, auf anderem nicht
 
Zitat:

Zitat von SubData
Ich glaube zwar nicht, dass es daran liegt aber korrigier mal das hier:

Delphi-Quellcode:
      dm.rekopf.first;

      while not(dm.rekopf.Eof) do
        begin
          dm.adressen.first;     <= das kann weg...

Da haste recht, daran liegts nicht. Hatte ich testweise eingebaut, um zuschauen obs hilft :wink:

Zitat:

Zitat von SubData
Oder mach aus dem FindKey mal n SetRange...

Das wird gleich mal getestet!

Thanatos81 27. Jan 2005 12:37

Re: [Paradox]FindKey auf einem Rechner ja, auf anderem nicht
 
Das scheint besser zu funktionieren, danke!

Müsste eigentlich auch schneller sein, oder? Da spart er sich ja (eigentlich) das durchwühlen.

SubData 27. Jan 2005 12:41

Re: [Paradox]FindKey auf einem Rechner ja, auf anderem nicht
 
Ich bin der Meinung gelesen zu haben es ist schneller, aber für die Aussage übernehm ich jetzt keine Garantie -g-
Da du aber das dm.adressen.first; rausnehmen kannst, wenn du SetRange nimmst, dürfte es auf jedenfall schneller sein :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz