Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi "Now" in Datenbank speichern (https://www.delphipraxis.net/100452-now-datenbank-speichern.html)

Tommy1988 28. Sep 2007 14:01

Datenbank: MySQL • Version: - • Zugriff über: -

"Now" in Datenbank speichern
 
Mein Problem ist folgendes:
Ich habe eine Datenbank namens test, darin befindet sich eine
Tabelle namens IP, diese hat 2 Zeilen, die eine heißt IP die andere Zeit.

(IP-Typ: VACHAR)
Die IP in diese IP-Zeile zu setzen ist kein Problem.
Das Problem ist eher, die Zeit (now) in diese Zeit-Spalte zu bekommen.

Delphi-Quellcode:
q_Time := 'INSERT INTO IP (zeit) VALUES ('
+ FormatDateTime('hh:mm:ss', now) + ')';
Das klappt leider nicht, "Zeit" bleibt immer leer komischerweise :pale:

DeddyH 28. Sep 2007 14:05

Re: "Now" in Datenbank speichern
 
Kannst Du bei den verwendeten DB-Kompos nicht parametrisieren?

s-off 28. Sep 2007 14:07

Re: "Now" in Datenbank speichern
 
Zitat:

Zitat von Tommy1988
Tabelle namens IP, diese hat 2 Zeilen, die eine heißt IP die andere Zeit.

Du meinst Spalten, hier auch Felder genannt.

Zitat:

Zitat von Tommy1988
Das Problem ist eher, die Zeit (now) in diese Zeit-Spalte zu bekommen.

Da wäre es gut, zu wissen, von welchem Typ das Feld 'Zeit' ist.

Tommy1988 28. Sep 2007 14:08

Re: "Now" in Datenbank speichern
 
Was genau meinst du damit?

Ich habe eben dann schon
Delphi-Quellcode:
q_Time := 'INSERT INTO IP (zeit) VALUES ('
+ TimeToStr(Now) + ')';
probiert geht aber auch nicht.

Das Feld zeit ist vom Typ TIME

DeddyH 28. Sep 2007 14:09

Re: "Now" in Datenbank speichern
 
Versuch es mal so:
Delphi-Quellcode:
q_Time := 'INSERT INTO IP (zeit) VALUES ('
+ QuotedStr(FormatDateTime('hh:mm:ss', now)) + ')';

Tommy1988 28. Sep 2007 14:17

Re: "Now" in Datenbank speichern
 
Oh, vielen dank Daddy :)
(Klappt nun)
Wo wir schonmal dabei sind: ein Quote ist ja das hier => "

Was machen denn diese Zwei Quotes so besonders?

Als ich mit PHP und MySQL gearbeitet habe, meine ich mich nicht erinnern
zu können jemals QUotes gesetzt zu haben.

xaromz 28. Sep 2007 14:18

Re: "Now" in Datenbank speichern
 
Hallo,

warum verwendest Du nicht die Function NOW(), die von MySQL unterstützt wird? Dadurch bist Du auch nicht von der Zeit des Clients abhängig:
Delphi-Quellcode:
q_Time := 'INSERT INTO IP (zeit) VALUES (NOW())';
//Edit:
Besser ist wohl noch CURTIME():
Delphi-Quellcode:
q_Time := 'INSERT INTO IP (zeit) VALUES (CURTIME())';
Gruß
xaromz

DeddyH 28. Sep 2007 14:21

Re: "Now" in Datenbank speichern
 
Ist natürlich davon abhängig, ob man die Serverzeit oder die Clientzeit eintragen möchte ;)

@Tommy: wie sähe das denn in PHP aus?
Code:
$sql = "INSERT INTO ip(zeit) VALUES('$zeit')";

Tommy1988 28. Sep 2007 14:25

Re: "Now" in Datenbank speichern
 
Noch ein Problem :wall:

Wenn eine gewisse Zeit abgelaufen ist, wird folgendes aufgerufen:
Delphi-Quellcode:
   begin
   // Erst alle anderen (vorherigen) Einträge löschen
    DeleteTableContent;
   // Minuszählen abfangen, Zeit zurücksetzen, aus Registry lesen
    Zeit := ReadDWORDCurrentUser(Key, Value);
   // Dann den neuen hizufügen
    AddIPToDatabase;
    // und dann noch die Zeit hinzufügen
    AddTimeToDataBase;
   end; // End vom elseZweig der Zeit-If-Abfrage
Table-Inhalt löschen funktioniert
Zeit wieder zurücksetzen funktioniert auch
IP in die DB schreiben funktioniert auch
aber
Die Zeit DANN nicht. Da steht dann immer 0 in der DB.

Setze ich AddIP.. hinter AddTime.. dann ist es umgekehrt.

DeddyH 28. Sep 2007 14:27

Re: "Now" in Datenbank speichern
 
Zeig doch mal den Code der beiden Methoden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.
Seite 1 von 2  1 2      

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