Laden...

ASP.Net/C#: Plan mit Kalenderwoche

Erstellt von sakanoue vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.216 Views
S
sakanoue Themenstarter:in
46 Beiträge seit 2009
vor 14 Jahren
ASP.Net/C#: Plan mit Kalenderwoche

Hi,

ich probiere mich gerade an ASP.Net und möchte einen Art Plan erstellen wo ich Personen aus einer Datenbank hole und die verschiedenen KWs zuordne und das dann ausgebe.

Ausgabe könnte so aussehen:
KW 5 Heinz
KW 6 Peter
KW 7 Karl

Wie stelle ich das am besten an? Habt ihr da ein paar Tipps?

EDIT:
Ich habe erst einmal die SQL Connection aufgestellt und die Namen in ein Array gespeichert.

Nun erstelle ich einen 2. Array mit 53 Feldern, lasse die Liste durchlaufen und vergleiche es dann mit der aktuellen Kalenderwoche.... (Brainstorming... )

P
120 Beiträge seit 2008
vor 14 Jahren

Du könntest dafür auch einfach ein ASP Control verwenden.
Die DetailsView sollte glaube ich genau das richtige Control dafür sein.
praktisch ist, dass du dem Control auch gleich eine SQL-Quelle als SQLDataSource (?) zuweisen kannst.
Und wenn du das ganze im Designer machst, brauchst du nicht eine Zeile Code zu schreiben 😃

S
sakanoue Themenstarter:in
46 Beiträge seit 2009
vor 14 Jahren

Ich habe es mal so erstellt (plus die Datenbankbefehle...):

private string[] ShowKWUser()
        {
            tbl = ds.Tables["Rumms"];

            int x = tbl.Rows.Count;
            int kws = 53;
            int i = 0;
            string[] strData = new string[kws];
            
            for (int j = 1; j < kws; j++)
            {
                if (i == x)
                {
                    i = 0;
                }
                    
                strData[j] = tbl.Rows[i]["Vorname"].ToString();
                i++;
            }  
            return strData;
        }

Was mir jetzt noch fehlt ist die Verwaltung der Datensätze.

**Wie füge ich eine automatisch generierte ID (Primary Key) dem Benutzer hinzu, die natürlich nicht doppelt vorkommen darf. **

Ideeansatz: maxValue von den IDs aus der Tabelle Benutzer holen, diese +1 setzen und dem neuem Benutzer übergeben,...

H
222 Beiträge seit 2010
vor 14 Jahren

moin,

ich weiss zwar nicht was für eine DB du hast aber der SQL-Server zum beispiel bietet die möglichkeit felder automatisch hochzuzählen, also dass bei jedem INSERT zb das feld "index" um 1 erhöht wird...

oder du definierst dein primary-key als "uniqueidentifier" und erstellt mit

Guid.NewGuid();

eine ID...

mfg Hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

1.433 Beiträge seit 2006
vor 14 Jahren

Du könntest dafür auch einfach ein ASP Control verwenden.
Die DetailsView sollte glaube ich genau das richtige Control dafür sein.
praktisch ist, dass du dem Control auch gleich eine SQL-Quelle als SQLDataSource (?) zuweisen kannst.
Und wenn du das ganze im Designer machst, brauchst du nicht eine Zeile Code zu schreiben 😃

Dannn ist dass ganze aber nicht mehr so einfach wartbar.

@sakanoue
Ich würde in der DB folgende Tabellen erstellen:

1.) Person
-- ID_Person (IDENTITY) Primary Key
-- ID_Kalenderwoche (NULL erlaubt)
-- Firstname
-- LastName

2.) Kalenderwoche
-- ID_Kalenderwoche (IDENTITY) Primary Key
-- Kalenderwochenzahl (int) NOT NULL

In der Kalenderklasse solltest Du dann die Möglichkeiten mit dem Control finden.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

S
sakanoue Themenstarter:in
46 Beiträge seit 2009
vor 14 Jahren

Habe es nun soweit fertig.

Was mich noch etwas stört ist, wenn ich Daten aus der Datenbank lösche oder editiere updated er die Seite direkt und die aktuellen Datensätze werden angezeigt. Dieses mache ich über das GridView.

Neue Daten hinzufügen mache ich "manuell", dabei wird die Tabelle natürlich nicht direkt erneuert. Jemand einen Tipp wie ich das am einfachsten lösen kann? 😃

Edit: Einfach GridView.DataBind(); nach dem Insert..