Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi kein Aktueller Datensatz (https://www.delphipraxis.net/19268-kein-aktueller-datensatz.html)

No Voices 31. Mär 2004 11:53


kein Aktueller Datensatz
 
Hallo alle zusammen,

ich beschäftige mich gerade mit einer Zeierfassung. Ich trage begin und endzeiten in eine ParadoxTabelle ein.

das sieht ungefähr so aus (aus dem Kopf geschrieben).

bei Begin:

Table1.last;
table1.edit;
Table1.append;
Table1['Begin'] := time;
Table1.post;
Table1.refresh;

bei ende:

Table1.last;
Table1.edit;
Table1['Ende'] := time;
Table1.post;
Table1.refresh;

Das ganze geht ein par mal gut.
irgendwan wenn ich mich öfter hintereinander ein und auslogge bekomme ich die Fehlermeldung "kein aktueller Datensatz".

wo ist das problem? ich gebe im doch alle informationen. Wenn ich mich einlogge soll er zum letzten datensatz gehen und einen neuen datensatz anfügen. in diesem neuen datensatz soll er nun die Beginzeit eintragen und das ganze dann speichern.

beim ausloggen soll er in den letzten datensatz gehen und Endzeit eintragen un auch wieder speichern.

Im zweifelsfall kann ich auch den ganzen code reinsetzen (nur Login Procedure ca. 5 Seiten).

Warum geht es mal und dan mal wieder nicht??? :wall: :wall: :gruebel: :wall: :wall:

Sharky 31. Mär 2004 12:09

Re: kein Aktueller Datensatz
 
Hai No Voices,

ich würde da ganz anders vorgehen.

Beim einlogen wird ein Datensatz mit deiner Benutzer-ID und einer ID für den Datensatz angelegt.
Die ID des Datensatzes speicherst Du einfach in einer Variablen.
Beim auslogen setzt Du jetzt einfach die END-Zeit für diesen Datensatz.

Ausserdem würde ich nicht mit der Uhrzeit deines Rechners arbeiten sondern immer die Zeit des Datenbankservers verwenden.

No Voices 31. Mär 2004 13:21

Re: kein Aktueller Datensatz
 
nun ist es so das dafür ein rechner abgestelt wurde zu testzwecken.

was meinst du mit der ID? Eine nur einmal vorkomende nummer oder was? ist das nicht die RecNo?

Ich habe keinen index, eine einfache ParadoxTabelle.

Datum; Begin; Ende; Gesamt;

Aber trotzdem weis ich nicht woran das liegen kann, das er irgendwann unvorhersehbar und nicht lokalisirbar, die fehlermeldung schmeist. Ich habe schon mehrere test gemacht aber ohne erfolg.

Wo ligt eigentlich der unterschied zwischen Table1.Open und Table1.Active := True;

oder in welcher Reienfolge mußte ich vorgehen?

Hängt das vieleicht mit irgendeinem speicher zusammen?

Ich habe das mal beobachtet und festgestellt, das wenn ich den fehler ignoriere un weiter mache, ist die tabelle sozusagen eingefrohren. Er fügt keinen daten ein und erstelt auch keine neue zeile. Erst wenn ich mich wieder auslogge und wieder einlogge geht es wieder. Beim einloggen öffne ich die tabelle erst und beim ausloggen schließe ich sie.

czapie 31. Mär 2004 13:58

Re: kein Aktueller Datensatz
 
Hallo Voice,

mit einer Id ist eine (meistens) Nummer gemeint, die dazu dient jeden Datensatz eindeutig zu identifizieren, also ein künstlicher Primärschlüssel, viele Datenbanksysteme verfügen über eine Funktion die diese Id-Nummern automatisch hochzählen, um die Eindeutigkeit zu garantieren.
IMO ist sharkys Vorschlag effektiver und auch "Datenabnktypischer" als deiner.

Czapie.

No Voices 31. Mär 2004 14:02

Re: kein Aktueller Datensatz
 
mir würde es aber reichen wenn er einfach nur zum letzten datensatz gehen würde und das macht er ja auch.

Aber woher kann der fehler den kommen?

No Voices 1. Apr 2004 07:46

Re: kein Aktueller Datensatz
 
Das ding hat sich erledigt. Ich sollte auch mal dran denken das ich 3 mit Tabellen arbeite. Der Fehler kam natürlich aus einer anderen Tabelle. nur dum dasDelphi mir das nicht sagen konnte. Danke trotzdem.

Gruß NoVoices


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 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