Datentyp bei DateDiff

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Datentyp bei DateDiff

Beitrag von F3K Total »

Hi,
du liest einen Text aus

Code: Alles auswählen

Zeit = oResultSet.getString(1)
nimmst Du eine ganze Zahl

Code: Alles auswählen

Zeit = oResultSet.getInt(1)
klappst auch mit dem Rechnen.
Allerdings frage ich mich, wieso du dafür überhaupt ein Makro brauchst?
Die Abfrage

Code: Alles auswählen

SELECT "Nachweis-ID", "Beginn", "Ende", DATEDIFF( 'mi', "Beginn", "Ende" ) AS "Minuten", DATEDIFF( 'mi', "Beginn", "Ende" ) / 1440.0000000000 AS "Zeit" FROM "Leistungsnachweis"
funktioniert doch einwandfrei, es können Daten eingegeben werden, und die Zeitdifferenz wird gleich berechnet, siehe Formular im Beispiel

Gruß R
Dateianhänge
Datediff.odb
(13.6 KiB) 37-mal heruntergeladen
uli70
Beiträge: 1
Registriert: Sa, 11.01.2014 19:18

Re: Datentyp bei DateDiff

Beitrag von uli70 »

Danke für Deinen Denkanstoß:-)
"GetInt" war die Lösung:-)
Ich brauche das Makro, um den gewonnenen Wert weiter zu verarbeiten, in ein Feld einzugügen.
Der Code schaut nun so aus:

Code: Alles auswählen

If Endezeit is NULL Then
Else query = "SELECT  DATEDIFF( 'mi', ""Beginn"", ""Ende"" ) AS ""Minuten"", ""Nachweis-ID"" FROM ""Leistungsnachweis"" AS ""Leistungsnachweis"" WHERE ""Nachweis-ID"" = '"
query = query & suchtext 
query=query & "'"
oResultSet = oStatement.executeQuery(query) 
   while oResultSet.next()
         Zeit= oResultSet.getInt(1)
   wend

Menge = Zeit/60


query = "Update  ""Leistungsnachweis"" SET ""Menge""= '" + Menge + "' WHERE ""Nachweis-ID"" = '"
query = query & suchtext
query=query & "'"
msgbox query
oResultSet = oStatement.executeQuery(query)
Allerdings bekomme ich wieder beim Updaten der Menge einen Fehler:
"Wrong data type: java.lang.NumberFormatException."

Dabei ist der gewonnene Wert "Menge" z.B. 6,25
In der Datentabelle ist Menge mit "Zahl/Numeric" mit zwei NAchkommastellen defieniert.
Das müsste doch passen :?
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Datentyp bei DateDiff

Beitrag von F3K Total »

Moin,
uli70 hat geschrieben:Ich brauche das Makro, um den gewonnenen Wert weiter zu verarbeiten, in ein Feld einzugügen.
Dönekes, mit Beginn und Ende sind alle notwendigen Informationen in der Datenbank, da braucht man keine Zeitspanne in ein anderes Feld zu schreiben, und wie du siehst, gibt es damit nur Probleme.
Meine Beispieldatei hast du noch nicht mal angesehen.
Was genau willst Du erreichen?

Und, zu deiner Fehlermeldung: Zahlen umschließt man in der Abfrage nicht mit Anführungszeichen. Und am Ende war auch noch ein Unnötiges.

Code: Alles auswählen

query = "Update  ""Leistungsnachweis"" SET ""Menge"" = " + Menge + " WHERE ""Nachweis-ID"" = "

Gruß R
Antworten