www.mikrocontroller.net

Forum: PC-Programmierung C# --> Zeit ausrechnen und in Datenbank speichern!!


Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.