Laden...
M
Benutzerbeschreibung
Total Beginner

Forenbeiträge von Martin1000 Ingesamt 6 Beiträge

08.09.2011 - 07:37 Uhr

Danke vorweg für die guten Anregungen,

und hier noch ein Hinweis, da es ja der Anspruch der Beiträge sehr hoch war und das Projekt hier nicht nur zum Anzeigen von Feiertagen nutzbar ist.

Drei Dinge:
Weihnachten, Silvester, Ostersonntag, die Adventtage und noch Weitere weißt Ihr als Feiertage aus, was sie jedoch nicht sind (siehe z.B. Rechtsspechung). Was spätestens bei der Berechnung von Lohnzuschlägen zu Fehlern führt.

Weiterhin ist noch das Problem mit Weihnachten und Silvester (sicher in von euch in eigenen Projekten beachtet), dass hier gesetzl. freie Zeiten vorgegeben sind. Oftmals nicht bekannt ist, dass an beiden Tagen erst ab 14:00 Uhr frei ist und so bei Schichtberechnungen wiederum Fehler passieren.

Wenn man es nun genau nimmt, kann das alles aber durch Haustarifverträge oder Rahmenvereinbarungen wieder ausgehebelt werden.

Als Anregung daher für die die das Projekt für Schicht-, Arbeitsstunden-, Lohnzuschlagsberechnung verwenden sollten die Feiertags-XML z.B. so erweitert werden:

<?xml version="1.0" encoding="utf-8"?>
<Holidays.Config>
  <Country>
    <CountryCode>DE</CountryCode>
    <Language>DE</Language>
    <Catalog Description="Haustarifvertrag 15.12.2010" ValidFrom="01.01.2011" ValidTo="15.10.2012">
      <Holiday>
        <HolidayID>290</HolidayID>
        <HolidayName>Silvester</HolidayName>
        <HolidayFormula>F:31.12</HolidayFormula>
        <HolidayDuration>1</HolidayDuration>
        <HolidayValidFrom>01.01.1900</HolidayValidFrom>
        <HolidayValidTo>31.12.2099</HolidayValidTo>
        <StateIDList>0</StateIDList>
        <IsOfficalHoliday>False</IsOfficalHoliday>
        <IsCompanyHoliday>True</IsCompanyHoliday>
        <IsFreeFromTime>14:00:00.000</IsFreeFromTime>
        <IsFreeToTime>23:59:59.999</IsFreeToTime>
      </Holiday>
    </Catalog>
  </Country>
</Holidays.Config>

Entsprechend müssten natürlich noch verschiedene Methoden bei der Auswertung eingebaut werden.

Also nochmals Danke für das was hier bisher diskutiert worden ist und das hier nur als Hinweis oder Anregung zur Vervollständigung des Themas.

CU Martin

17.12.2010 - 21:28 Uhr

Hi,

also die Meldungsüberschrift ist: OverflowExeption

Darin ist als weiters die Int32-Meldung und dann die DivisionsMeldung.

Zum Code ist eigentlich nichts mehr dazu, der wird in einme noch leeren Window im Ereignis "Window_Loaded" aufgerufen.

Die genannte Fehlermeldung wird bei "DataRow row = ds.Tables[0].NewRow();" angezeigt.

DB-System = MS-SQL-Server Ex.
DB-Felder mit Server-Datentyp:
ContactPK INT Autoinc.
ContactGUID uni...
MainAccountFK int (Fremdschlüssel)
Abbreviation NVARCHAR(?)
Description NVARCHAR(?)
CreatBy NVARCHAR(?)
CreatDate DateTimeOffset(7)
ModifiedBy NVARCHAR(?)
ModifiedDate DateTimeOffset(7)

(?) steht für char-Länge die ich jetzt als unwichtig emfand.

Standard-Connection-String, keine Verschlüsselung der Felddaten usw. also alles normal.

Also in einem anderem Window, lade ich die Daten über einen typisiertes Dataset usw. und zeige diese in einer Feld-Auflistung an. --> keine Probleme

Ich wollte nun ein Window erstellen indem nur Daten hinzugefügt werden können und daher eine leere DataTable erstellen und dachte mir über .New<FeldName>Row oder .NewRow ein Zeile für die Erfassung zu erstellen. Aber bisher wurde ich enttäuscht..
Vielleicht ist auch mein gewählter Weg der Falsche, doch eigenlich müsste das Thema ja gehen (jedenfalls entsprechend der Ausführungen der Literatur).

Danke für die Mühe
Martin

17.12.2010 - 20:43 Uhr

verwendetes Datenbanksystem: SQL-Server

Hi,

es ist nun nach vielen Stunden und einigen Buch- sowie Internetseiten soweit, dass ich euch doch mal Frage:

Ich bekommen beim Hinzufügen einer Row zum Data-Table egal typisiertes oder untypisiertes DataSet immer o.g. Exeption.

Hatte schon vermutet, das es am Primär-Schlüssel-Feld hinsichtlich Autoinc. liegt, aber dass kann es nun nicht sein.

Ich habe nun schon das Buchbeispiel(Galileo-OpenBook) nochmal nachgebaut und erhalte gleichen Fehler.


            SqlConnection con = new SqlConnection();
            con.ConnectionString = Properties.Settings.Default.MaLoConnectionString;
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "SELECT * FROM CONTACTS WHERE MainAccountFK =" + 
                              Properties.Settings.Default.UsedMainAccount;
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.FillSchema(ds, SchemaType.Source);

            ds.Tables[0].Columns[0].AutoIncrement = true;
            ds.Tables[0].Columns[0].AutoIncrementSeed = -1;
            ds.Tables[0].Columns[0].AutoIncrementStep = -1;

            da.Fill(ds);

            DataRow row = ds.Tables[0].NewRow();
            row["MainAccountFK"] = 1;
            ds.Tables[0].Rows.Add(row);

Mit fällt auch nichts mehr dazu ein, insbesondere wenn die Meldung sowas wie "Der Wert für einen Int32 war zu groß oder zu klein." und "Dividieren sie nicht durch 0" angezeigt wird.

Was könnte mein Fehler sein?

Ich hoffe ich habe ausreichend Informationen geliefert.

Danke schon im Voraus
Martin

Vielleicht noch der StackTrace des Fehler interessant:

bei System.Convert.ToInt32(Int64 value)
bei System.Int64.System.IConvertible.ToInt32(IFormatProvider provider)
bei System.Data.Common.Int32Storage.Set(Int32 record, Object value)
bei System.Data.DataColumn.Init(Int32 record)
bei System.Data.DataTable.NewRecord(Int32 sourceRecord)
bei System.Data.DataTable.NewRow(Int32 record)
bei System.Data.DataTable.NewRow()
bei SalesHelper_Contact.ContactNew.LoadContactData() ....

15.12.2010 - 09:52 Uhr

Danke,

ich habs mal probiert und denke nun das gleiche wie du. Bei Datensätzen die wenig Änderungen erfahren ist es kein Problem, doch habe ich z.B. eine Artikeltabelle in der nach jeder Buchung die Materialbestände nachgetragen werden und hier führt das zu utopischen Außmaßen führen.

Mir war bisher noch nicht die mangelnde Performence des XML-Feldes bekannt.

Nochmals Danke
Martin

14.12.2010 - 12:15 Uhr

Hi,

ich hole mal das Thema aus dem Untergrund, da mir gestern bei Neuanlage eines Projektes ein Gedanke kam.

Warum nicht eigentlich die Historie im XML-Format in ein Archiv-Feld von jedem DS schreiben?

Was denkt ihr dazu?

Danke
Martin

04.11.2010 - 20:31 Uhr

Einfach mal Danke 👍--> dass du Dir die Mühe machtest Dein Resultat ins Forum zu stellen.

Als C# Beginner hilft das ungemein und die nun endlosen "Hello World" kann ich schon nicht mehr sehen und da müssen halt auch mal RFID-Projekte her.

CU
Martin