Laden...

Start in eine beispielhafte Adressverwaltung

Erstellt von knutli vor 2 Jahren Letzter Beitrag vor 2 Jahren 506 Views
K
knutli Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren
Start in eine beispielhafte Adressverwaltung

Hallo zusammen,

ich möchte gerne ein kleines Programm zur Verfügung stellen, welches sich vielleicht am besten als Adressverwaltung beschreiben lässt:
Auf einer Benutzeroberfläche wird eine Listbox mit allen Datenbankeinträgen angezeigt und bei Auswahl eines Eintrages werden weitere Informationen zu dem Datensatz in Textfeldern angezeigt. Dort ist auch eine Änderung möglich.
Mit VisualStudio und C# habe ich bisher nur Konsolenanwendungen geschrieben, nun möchte ich aber obiges (bisher in Access abgebildet) als eigenständige Anwendung bereitstellen.
Damit arbeiten sollen mehrere Kollegen, die in einem Windows-Netzwerk verbunden sind.

Wie starte ich da am besten? Welches Framework ist ideal (nicht zu komplex aber zeitgemäß)? WPF? Wie halte ich die Daten vor? Im Access habe ich aktuell 8 verknüpfte Tabellen...
Ich würde mich freuen, wenn ich hier ein paar Start- und Literaturempfehlungen bekommen könnte.
Ein rudimentäres Beispiel-Fenster habe ich mal angehängt.

Schöne Grüße
Knut

2.298 Beiträge seit 2010
vor 2 Jahren

Spätestens wenn die Nutzer gleichzeitig auf der "Datenbank" arbeiten können sollen, ist Access keine gute Idee mehr.

Ansonsten würde ich mir im ersten Schritt nicht so viele Gedanken über das UI machen. Wichtiger ist erst einmal, die Logik und Datenhaltung zu implementieren. Am Ende entscheidest du dich ja vielleicht statt einer Anwendung für eine Webapplikation.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

K
knutli Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Moin!

Richtig, Access soll's ja auch nicht sein.
Hast Du noch Tipps?

K
knutli Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Moin nochmal,
mittlerweile habe ich mit dieser Datei ein gar nicht mal so schlechtes Tutorial gefunden.
Damit komme ich schon voran. Allerdings: Die Infos sind 13 Jahre alt. Würde man das heute immer noch so machen? Grundlage ist eine Windows Forms App, bei der ich abweichend das Zielframework .NET 5.0 ausgewählt habe.
Ganz konkret hänge ich am Speichern des Tabellenentwurfs auf Seite 25. Wie kann ich die Tabelle speichern und benennen?

Grüße!

P
441 Beiträge seit 2014
vor 2 Jahren

Du solltest vermeiden aus deiner GUI Anwendung direkt auf eine Datenbank zuzugreifen, sondern über eine HTTP API gehen.

Anfangs hast du nach möglichen Frameworks gefragt. Du könntest die Desktop Applikation weglassen und eine auf ASP.NET Core basierte Webapplikation entwickeln.
Entweder direkt Server gerendert (dann hast du nur eine Applikation) z.B. mittels RazorPages (da solltest du mit dem Stichwort gute Beispiele finden) oder mit einer Single Page Application (dann hast du allerdings zwei Applikationen die du entwickeln musst).

3.825 Beiträge seit 2006
vor 2 Jahren

Ich sehe keinen Nachteil darin aus einer Desktop App direkt auf die Datenbank zuzugreifen. Ist ja schon eine Art API das die Datenbank zur Verfügung stellt.

Solange der Traffic im lokalen Netzwerk bleibt.

Daten hältst Du am besten in einer richtigen Datenbank vor, da sind sie sicherer als in Access und das klappt auch in einem Netzwerk.

SQL Express ist immer noch eine gute Wahl.

Winforms ist schon eine alte Technik, wird aber immer noch fleißig benutzt. WPF oder Webanwendung sind moderner, ob es Vorteile bringt ist eine andere Frage.

Als Framework kann ich Dir ein ORM empfehlen, dass die Zugriffe auf die Datenbank typsicher für dich durchführt.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

P
441 Beiträge seit 2014
vor 2 Jahren

Damit das nicht zu einem "Zugriff auf DB direkt oder indirekt"-Thread wird, nur zwei Dinge zu bedenken:
Es kommt immer sehr genau auf das Szenario an, ob ein direkter Datenbank Zugriff gewollt sein kann. Dabei spielt neben der Sicherheit (Jeder Anwender benötigt Datenbank Zugriff, Jeder Anwender HAT Zugriff auf die Datenbank und kann nicht nur das machen was ihm die Anwendung erlaubt, Datenbank ist über Netzwerk erreichbar, ...) auch Lizenzen eine Rolle, bei CAL's kann es sein, dass bei direktem Zugriff für jeden Anwender eine Lizenz erforderlich ist.