Gast
#1130817
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
using System.Data.SqlClient;
public partial class Arbeitsstunden_Mitarbeiter : System.Web.UI.Page
{
//Definieren der Textboxen
protected TextBox txtVon;
protected TextBox txtBis;
protected TextBox txtStunden;
private SqlConnection conn;
private SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
conn = new SqlConnection(@"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Projekt.mdf;
Integrated Security=True;User Instance=True");
txtVon = dvMitarbeiter.FindControl("txtVonI") as TextBox;
txtBis = dvMitarbeiter.FindControl("txtBisI") as TextBox;
txtStunden = dvMitarbeiter.FindControl("txtStundenI") as
TextBox;
// Auf die Events hängen.
// Hier reicht eigentlich eh eines der beiden, weil jeweils
// das andere mit überprüft wird.
txtVon.TextChanged += new EventHandler(txtVonBis_TextChanged);
txtBis.TextChanged += new EventHandler(txtVonBis_TextChanged);
}
protected void txtVonBis_TextChanged(object sender, EventArgs e)
{
// Überprüfung ob auch beide ausgefüllt worden sind
if (string.IsNullOrEmpty(txtVon.Text) ||
string.IsNullOrEmpty(txtBis.Text))
// TODO Errorhandling: Eines der beiden Felder wurde nicht
angegeben
txtStunden.Text = "";
else
{
DateTime dtVon = DateTime.Now;
DateTime dtBis = DateTime.Now;
if (DateTime.TryParse(txtVon.Text, out dtVon) == true &&
DateTime.TryParse(txtBis.Text, out dtBis) == true)
txtStunden.Text = GetTimeDiff(dtVon, dtBis);
else
// TODO Errorhandling: Die eingegebenen Werte sind keine
gültigen Datumswerte
txtStunden.Text = "";
}
}
protected void AuslesenTextbox(object sender, EventArgs e)
{
//Speichern der Textbox - Dezimalzahl in die Datenbank
//in das Feld dStunden (Tabelle Arbeitszeiten)
conn.Open();
cmd.Parameters.AddWithValue("@dStunden", txtStunden.Text);
}
/// <summary>
/// Hier anpassen wie der Wert zurückgegeben werden soll.
/// Ich gebe hier mal einfach die Minuten zurück.
/// </summary>
private string GetTimeDiff(DateTime dtVon, DateTime dtBis)
{
TimeSpan ts = dtBis.Subtract(dtVon);
return ts.TotalMinutes.ToString();
}
}
Bitte kann jemand den Text korrigieren? Ich versteh sowieso nichts ;(
Werte sollen ausgerechnet und in die Datenbank ins Feld dStunden
reingespeichert werden ...
LG,
Walter