C# --> Zeit ausrechnen und in Datenbank speichern!!

Gast #1130817
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren