Einstellungen für Benutzer auf Datenbank speichern

  • VB.NET
  • .NET 4.0

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Einstellungen für Benutzer auf Datenbank speichern

    Hallo Ihrs :)

    Ich möchte über die Einstellungen eines Benutzers in der Datenbank speichern.
    Im Speziellen geht es darum, welche Spalten er sehen will. Es gibt ~50 Spalten,
    aber es sind nur einige für die Benutzer selbst interessant.

    Kann man dies variabel machen inklusive abspeichern und editieren, wenn die Tabelle so aussieht:


    Das Ziel würde sein, die Einstellungen pro Benutzer und Pro Einstellung aus der Datenbank zu holen. Es würde ungefähr so sein:
    ps: dieses Fenster wird später in ein Panel geschoben, deshalb keine "Titelleiste".



    Einstellungen, die noch nicht vorhanden sind, sollten dann automatisch neue Zeilen in der Datenbank generieren.
    Dies gilt für den Benutzer und die Einstellung selbst (KON, SIM, DTL...)


    Die "Lösung", die is bisher gibt,
    ist sich über ScalarQueries die Einstellungen selber aus der Datenbank zu ziehen
    und beim speichern das ganze wieder manuell über insert / update queries zu speichern.
    Dann müsste man aber jede Einstellung einzeln anpacken.

    Kann man Controls mehrere Bedingungen, also Einstellung = "KON" und User = "M0815" zuweisen?
    zunächst mal brauchst du ein Datenmodell, welches modelliert, wie Einstellungen und User miteinander zusammenhängen, und welchen Datentyp eine Einstellung hat.
    Und wenn eine Einstellung mehrere Auswirkungen hat dann ist auch zu modellieren, wie Einstellung, Auswirkung und User zusammenhängen.

    Ohne Datenmodell kann keine Datenverarbeitung programmiert werden.

    Guck - ich finds am einfachsten, in einem typisierten Dataset meine Datenmodelle zu erstellen: vier Views-Videos


    Tabelle Konfiguration:
    ID-INT32-Primary-Autoincrement
    Benutzer-Int32-NOT NULL
    Einstellung-VARCHAR(45)-NOT NULL
    BOOL_Wert-TinyInt(1)-NOT NULL


    Momentan hat die Tabelle nur eine Verkünpfung von Benutzer zu Benutzer_Name in der Tabelle Mitarbeiter.
    Der Mitarbeiter ist immer schon angelegt.

    Die Konfiguration soll nur aussagen, welche Spalten im Datagridview angezeigt werden sollen - und welche nicht.
    Wenn der Benutzer abspeichert, sollen nicht vorhandene Zeilen automatisch befüllt werden, vorhandene sollen ein Update kriegen.

    Der Benutzer muss also nur die CheckBoxes für KON, SIM, ... anklicken und auf einen Speichern - Button klicken.

    Der springende Punkt ist es für mich, dies nicht über ScalarQueries realisieren zu müssen, sondern dies automatisch vom Programm selbst handeln zu lassen.
    das ist noch kein vollständig beschriebenes Datenmodell - es kommt ja weniger auf die Spaltennamen an als auf die Relationen zwischen den Tabellen. Da müssen ja ForeignKeyConstraints in der DB definiert sein, und entsprechend DataRelations im typisierten Dataset.
    Wie das im Dataset geht, hast du dir inzwischen inne Videos angeguckt?