• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# Zapis obiektu do bazy danych - aplikacja do treningu (okienkowa)

0 głosów
101 wizyt
pytanie zadane 23 października 2020 w C# przez matlenek00 Nowicjusz (180 p.)
Witam. Chciałbym stworzyć prostą aplikacje okienkową Windows Forms App (.NET Framework) z bazą danych MySQL Server (aplikacja treningowa, możliwość rozpoczęcia treningu, ustawiania jakiegoś planu oraz logowanie użytkownika). Jednak mam problem z zapisem obiektu do bazy danych. Czy istnieje w ogóle taka możliwość aby zapisać cały obiekt wraz z właściwościami do bazy danych MySQL? Chodzi o to, że chcę przetrzymywać w bazie np listę ćwiczeń danego użytkownika, a później po wybraniu jakiejś opcji w menu aktualizować ten obiekt i jego pola. Jeśli się nie da to ktoś mnie naprowadzi jak stworzyć taką aplikacje okienkową aby byłą możliwość rejestracji, logowania, wybierania poziomu trudności ćwiczeń, wykonywania sesji treningowej? Z góry dzięki za rady

1 odpowiedź

0 głosów
odpowiedź 25 października 2020 przez Sadako Obywatel (1,240 p.)
wybrane 22 listopada 2020 przez matlenek00
 
Najlepsza

Istnieją specjalne frameworki, które ułatwiają zapisywanie obiektów do baz danych. Dzięki nim nie stosuje się selectów, insertów itp. Zazwyczaj ma się coś w rodzaju listy/kolekcji, gdzie możesz sobie odczytać wszystkie elementy, filtrować, dodawać, usuwać, aktualizować. Framework sam tłumaczy to na zapytania SQL. Najnowsze wersje mają już mega możliwości.
Dla .NET używa się najczęściej Entity Framework (EF).


Są dwa podejścia:

  1. Database first - czyli tworzysz tabele w bazie danych i możesz wygenerować do tego odpowiednie klasy.
  2. Code first - tworzysz sobie klasy (na przykład użytkownika, ćwiczenie itp), a framework sam generuje Ci tabele w bazie. 

Myślę, że łatwiejsze będzie dla ciebie 2) Code first, ale oba podejścia mają swoje wady i zalety.

Windows Forms jest już dosyć stare, więc może być ciężko znaleźć dużo fajnych materiałów i przykładów, ale tutaj znalazłem jeden (sam nie testowałem):
https://docs.microsoft.com/en-us/ef/ef6/fundamentals/databinding/winforms (ostatnia aktualizacja 4 lata temu)

Na początek polecam zrobić sobie konsolową aplikację. Tak, żeby zobaczyć z czym to się je, a potem już łatwo Ci będzie to zaimplementować w aplikacji okienkowej. 

Tutaj znajdziesz przykład takiego użycia w konsolowej aplikacji:
https://docs.microsoft.com/en-us/ef/ef6/modeling/code-first/workflows/new-database

Polecam zwrócic uwagę na panel po lewej stronie z nawigacją. Tam masz wiele przydatnych artykułów wewnątrz Entity Framework 6 włączając w to takie zagadnieja jak: wyciąganie danych z bazy, zapisywanie, konwencje, 'Get Started' czy 'Fundamentals'. 

 

Podobne pytania

0 głosów
1 odpowiedź 192 wizyt
0 głosów
2 odpowiedzi 396 wizyt
pytanie zadane 17 kwietnia 2018 w C# przez KtoPyta... Początkujący (280 p.)
0 głosów
0 odpowiedzi 43 wizyt
pytanie zadane 23 kwietnia 2019 w C# przez Michał_Warmuz Mądrala (5,840 p.)

86,448 zapytań

135,207 odpowiedzi

300,348 komentarzy

57,196 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...