German Eine ID mit Timestamp erstellen - brauche "Ticks As Long"

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Forum,

in B4PPC konnte ich mir ohne Probleme eine ID für eine SQL-Datenbank mithilfe einer Timestamp erstellen.

Dort habe ich einfach die TICKS in Sekunden gespeichert, die waren als Zahl auszulesen.

Jetzt kriege ich das nicht mehr hin, weil alles was ich versuche entweder zu einer Fehlermeldung oder zur Ausgabe einer Zeit- oder Datumsangabe führt (die ich aber hier nicht gebrauchen kann).

Weiß jemand wie ich die Ticks As Long (z.B.: 1234567890) bekomme?
... oder einen Timestamp als "Zahl"?
 
D

Deleted member 103

Guest
Hallo JOTHA,

hier ein Beispiel aus der online-hilfe:
B4X:
Dim now As Long
now = DateTime.Now
Msgbox("The date is: " & DateTime.Date(now) & CRLF & _
    "The time is: " & DateTime.Time(now), "")
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Filippo,

DANKE für deine Reaktion noch so spät um diese Uhrzeit!

Ich habe natürlich schon lange vorher in der Online-Hilfe recherchiert, aber ich brauchte kein Datum, sondern eine Zahl.

Cableguy hat mir schon im Englischen Forum geholfen mit

a=datetime.now

da kommt dann eine Zahl mit 131 Milliarden und ein paar gequeschte raus, genau die brauche ich für das generieren einer ID für eine SQL. :)
 
Last edited:
D

Deleted member 103

Guest
Ich habe natürlich schon lange vorher in der Online-Hilfe recherchiert, aber ich brauchte kein Datum, sondern eine Zahl.
Aber genau diese 2 Zeilen liefern das Ergebis:
Dim now As Long
now = DateTime.Now

Eine Frage: warum willst du die ID mit der Datetime-Funktion erstellen? In SQL geht das viel einfacher.
Wenn du eine Tabele nach dieses Muster anlegst dann generiert SQL die ID-Nummer automatisch.
SQL1.ExecNonQuery("CREATE TABLE Tabelle (id integer Primary Key,col1 text,col2 text,col3 timestamp,col4 float)")
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Filippo,

... genau diese 2 Zeilen liefern das Ergebnis ...
... diese 2 Zeilen habe ich ja schon eingebaut.

Eine Frage: warum willst du die ID mit der Datetime-Funktion erstellen? In SQL geht das viel einfacher.
Deine SQL-Lösung ist natürlich sehr elegant, bringt aber erst einmal eine undefinierte Zahl. Ich möchte die ID noch mit einer zweiten Registriernummer kennzeichnen, damit ich später weiß, woher die Daten kommen.

Meine Lösung sieht daher so aus:
B4X:
'------ die "Daten018_IDNR" festlegen ------
Dim Now As Long
TicksInSekunden = DateTime.Now
Platzhalter1 = TicksInSekunden
Platzhalter2 = ""&Panel98_Label02_Registriernummer.Text&".018."&Platzhalter1&""

'------ in die SQL speichern ------
SQL1.ExecNonQuery ("INSERT INTO Daten018 VALUES ('', '', '', '', '"&Platzhalter2&"', '"&InputDialog.Input&"')")

... ist vielleicht umständlicher, funktioniert aber auch! ;)
 
Top