2017-04-23 25 views
-3

Ich erstelle eine aspx.net Seite, wo es ein Gesamtzeitfeld gibt. Ich möchte die Gesamtzeit als INT in einer Textbox anzeigen, damit ich sie dann mit den Kosten pro Stunde multiplizieren kann, um eine Gesamtkostenbox zu erhalten. ExampleKonvertiere Zeit wie 00:00:00 in int C#

+1

'TimeSpan.ParseExact', vielleicht bietet? –

+1

'int' was? Millisekunden? Std? Woher bekommen Sie "Kosten pro Stunde"? Was sind seine Einheiten? –

+0

Kosten pro Stunde wäre die Arbeitskosten, die innerhalb der SQL-Abfrage Zelle 6 definiert ist. Das ist ein INT – NMatheny

Antwort

1

Sie können .TotalHours auf Datetime-Feld verwenden.

0

Ich landete nur die Aufgabe anders vor. Ich habe gerade eine weitere Spalte in meiner SQL-Abfrage hinzugefügt. Für die Suche nach der Lösung suchen, meine Frage ist

DECLARE @techID INT 
SET @techID = 1 
SELECT  Customer.firstName, Customer.lastName, Invoice.invoiceDate, 
Invoice.timeStart, Invoice.timeEnd, Techs.hourlyRate, 
      CAST(DATEADD(MINUTE, DATEDIFF(MINUTE, Invoice.timeStart, 
Invoice.timeEnd), '2017-01-01 00:00:00.000') AS TIME) AS [Total time], 
      CAST(DATEDIFF(hh, timeStart, timeEnd) AS INT) * hourlyRate AS 
[Total Cost] 
FROM   Customer INNER JOIN 
        Invoice ON Customer.customerID = Invoice.CustomerID 
INNER JOIN 
        Techs ON Invoice.TechID = Techs.techID 
WHERE  (Techs.techID = @techID) 
GROUP BY Customer.firstName, Customer.lastName, Invoice.invoiceDate, 
Invoice.timeStart, Invoice.timeEnd, Techs.hourlyRate 

Diese folgende Tabelle Updated Example