Sytemzeitübertragung in Datenbank

Diskutiere Sytemzeitübertragung in Datenbank im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, ich hab ein kleines GROSSES Problem. Ich muss ein Prog zur Personalzeiterstellung schreiben! Darin wollte ich die aktuelle Systemzeit...
  • Sytemzeitübertragung in Datenbank Beitrag #1
T

The Prophet

Mitglied
Dabei seit
29.12.2001
Beiträge
9
Reaktionspunkte
0
Ort
Germany
Hallo,

ich hab ein kleines GROSSES Problem. Ich muss ein Prog zur Personalzeiterstellung schreiben! Darin wollte ich die aktuelle Systemzeit automatisch dem jeweiligen Benutzer zuordnen wenn dieser anfängt (also sich aus der Datenbank auswählt). Dieses soll dann in der DB zum jeweiligen Benutzer gespeichert werden und wenn er auhört dann mit der Endzeit verrechnet werden! Doch wie kann ich die Syszeit in einer DB abspeichern ohne das der Nutzer diese in einem DBedit-Feld eingibt. So das die Eingabe von den Benutzern nicht manipuliert werden kann!

P.S.: Ich bin ein vollkommener Newbie bitte ausführlich erklären wenn ihr mir helfen könnt :D !

P.S.: 2. Problem am Rande, wenn ich die einfache Variante wähle und die Zeit selber eintrage, wie schaffe ich es das es eine 24 h Uhr ist? Also genauer gesagt wenn ich z.B. eigebe das er um 20 Uhr gekommen ist und um 3 Uhr früh geht, schreibt er mir hin das ich statt 7 Stunden 17 gearbeitet habe!

THX
 
  • Sytemzeitübertragung in Datenbank Beitrag #2
WEBSTER

WEBSTER

Bekanntes Mitglied
Dabei seit
25.11.1999
Beiträge
1.502
Reaktionspunkte
0
Ort
COLOGNE
Salute,

leider weiß ich nicht in welcher Prog.Sprache du programmierst, aber sollte es Delphi sein, könnte ich dir vielleicht ein wenig helfen.....

Dein Zeit Prob. könnte man vielleicht hiermit lösen, hat aber einen riesigen Nachteil (erkläre ich gleich).

Also, erstmal ermittelst du dir das Systemdatum und Zeit und ließt dir diese in eine Variable.

Code:
var
  DateTime : TDateTime;
  str_ZD : string;
begin
  DateTime := Time;  // aktuelle Uhrzeit und Datum speichern
  str_ZD := TimeToStr(DateTime); // Uhrzeit in einen String konvertieren
end;

Anschließend machst du mit einer QUERY ein update oder ein insert in deine DB. Das könnte dann so aussehen...

Code:
Str_SQL:='UPDATE zeiten set startzeit='+chr(39)+str_ZD+chr(39)';
Str_SQL:=Str_SQL+' where USER_NR = 100 ;'

//////////////////////////////////////////////////////////////////////////////
// Update wird ausgeführt

main_Form.DataSource2.DataSet := main_Form.query2;
main_Form.query2.sql.clear;
main_Form.query2.SQL.Add(Str_SQL);

main_Form.query2.ExecSQL;


Ich hoffe du hast verstanden was ich meine......

Nun noch zum NACHTEIL:
Beim obrigen Beispiel wird die SYSTEMZEIT des Rechners ausgelesen und in einer Variable gespeichert. Wenn nun aber derjenige, der sich anmelden will, vorher die Systemzeit verändert (von 16:00 auf 13:00) dann arbeitet er 3 Stunden länger..... usw.


WEBSTER
 
  • Sytemzeitübertragung in Datenbank Beitrag #3
S

Svenche

Bekanntes Mitglied
Dabei seit
30.04.1999
Beiträge
471
Reaktionspunkte
0
Ort
Erfurt, Deutschland
@WEBSTER:

Ich denke, daß Problem besteht nicht nur bei deinem Beispiel sondern auf jeden Fall.

Wenn die Datenbank zentral auf einen Rechner/Server liegt wäre es vielleicht sinnvoll die Zeit vom Server zu holen und in die Datenbank einzutragen.
 
  • Sytemzeitübertragung in Datenbank Beitrag #4
T

The Prophet

Mitglied
Dabei seit
29.12.2001
Beiträge
9
Reaktionspunkte
0
Ort
Germany
Servus Webster,

erstmal Danke doch leider hab ich noch nicht ganz geschnallt wie ich weiter machen soll. Bisher bin ich in Delphi mit einer Paraodx DB gefahren. VonSQL hab im Moment überhaupt keinen Plan.
Könntest du mir da vielleicht das ganze noch ein bissel genauer erklären.

Danke

The Prophet

P.S.: Ja es ist Delphi :D , das ganze ist ein Projekt im Studium also die Manipulationsmöglcihkeiten der Zeit kann man außer Acht lassen!
 
Thema:

Sytemzeitübertragung in Datenbank

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.181
Beiträge
1.579.175
Mitglieder
55.880
Neuestes Mitglied
Hahn
Oben