を倍増したDateTimeを変換誰もこれで私を助けることができる、私は、現時点ではその結果を取得しています:データが日付でグループ化し、
私はStunden列のデータが二重に変換します日付でソート 最終結果は01.03.2017 = 9.0となります。
13.12.2017 = 8.5; Studenのは、Aの場合
これは私の現在のコード
q.ZPZ_LPE_ID = userID;
if (db.State == ConnectionState.Closed)
db.Open();
string query = "SELECT zei.ZPZ_Von, zei.ZPZ_Bis, per.LPE_Nr, zei.ZPZ_LPE_ID, zei.ZPZ_Datum, SUM (zei.ZPZ_Std100) AS ZPZ_Std100" +
" FROM DB.dbo.Z_PRAESENZZEIT zei INNER JOIN DB.dbo.A_PERSONAL per ON zei.ZPZ_LPE_ID = per.LPE_ID" +
$" WHERE zei.ZPZ_Datum BETWEEN '{dtFromDate.Value}' AND '{dtToDate.Value}' AND zei.ZPZ_LPE_ID='{userID.ToString()}' GROUP BY per.LPE_Nr, zei.ZPZ_LPE_ID, zei.ZPZ_Datum, zei.ZPZ_Von, zei.ZPZ_Bis ORDER BY zei.ZPZ_Datum, per.LPE_Nr;";
using (SqlCommand cmd = new SqlCommand(query, db))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
var items = new BindingList<PRAESENZZEIT>();
while (dr.Read())
{
PRAESENZZEIT pra = new PRAESENZZEIT();
pra.ZPZ_Datum = Convert.ToDateTime(dr["ZPZ_Datum"]);
pra.ZPZ_Von = Convert.ToDateTime(dr["ZPZ_Von"]);
if (pra.ZPZ_Von.TimeOfDay < new TimeSpan(8, 5, 0))
pra.ZPZ_Von = new DateTime(pra.ZPZ_Von.Year, pra.ZPZ_Von.Month, pra.ZPZ_Von.Day, 8, 0, 0);
// DateTime gehen = DateTime.Now;
pra.ZPZ_Bis = Convert.ToDateTime(dr["ZPZ_Bis"]);
pra.arbeitszeit = pra.ZPZ_Bis - pra.ZPZ_Von;
// Convert.ToString(Convert.ToInt32(arbeitszeit));
items.Add(pra);
}
pRAESENZZEITBindingSource.DataSource = items;
}
}
}
}
これは
public class PRAESENZZEIT
{
public int LPE_Nr { get; set; }
public DateTime ZPZ_Datum { get; set; }
public double ZPZ_Std100 { get; set; }
public int ZPZ_LPE_ID { get; set; }
public DateTime ZPZ_Von { get; set; }
public DateTime ZPZ_Bis { get; set; }
public DateTime ZPZ_Std { get; set; }
public int ZPZ_ID { get; set; }
public int ZPZ_Jahr { get; set; }
public int ZPZ_Monat { get; set; }
public int ZPZ_Tag { get; set; }
public DateTime ZPZ_ERFDAT { get; set; }
public string ZPZ_ERFUSER { get; set; }
public DateTime ZPZ_MUTDAT { get; set; }
public string ZPZ_MUTUSER { get; set; }
public TimeSpan arbeitszeit { get; set; }
}
は時間を参照してください? –
@RenéVogtあなたは正しいが、私はそれを修正する – dejanm
@JericCruzはい "Stunden"は "時間"のためのドイツ語です。 –