Skoro jest to kilkaset zmiennych to aż prosi się o użycie bazy danych, ale jeśli koniecznie chcesz to mieć w pliku to użyj “Settings”, a nie “Resources”. Jednego i drugiego używa się w podobny sposób, ale to właśnie “Settings” służy do tego o czym mówisz, tzn. umożliwia zapisanie stanu aplikacji. Choć muszę przyznać nigdy nie używałem tego z taką liczbą zmiennych.
Zasadniczo to każda będzie OK. Możesz użyć darmowej i jednocześnie bardzo “lekkiej” bazy danych np. MySQL, albo płatnej, np. MS SQL Server i Oracle (są dostępne ich darmowe wersje do celów developerskich). Oczywiście jest ich o wiele więcej. Ja tu wymieniłem tylko te trzy, z których miałem okazję korzystać. Jak będziesz wybierał bazę danych zwróć uwagę na to, żeby była na tej liście: http://en.wikipedia.org/wiki/ADO.NET#Third-party_data_providers.
Ta aplikacja, którą piszesz będzie uruchamiana na jednym komputerze, czy na kilku? Jeśli na kilku to przy tworzeniu tabel musisz uwzględnić, że dla każdego użytkownika stan aplikacji (wartości zmiennych) mogą być inne. Korzystając z Settings nie musisz się tym przejmować, bo stan aplikacji zapisywany jest w katalogu domowym użytkownika w odpowiednim pliku XML. Ja jednak zalecam użycie bazy danych, bo co jeśli ten plik ulegnie uszkodzeniu? Wpisywanie wartości dla kilkuset zmiennych od nowa to jednak średnia przyjemność. W przypadku bazy danych w wygodny sposób możesz sobie robić back up całej bazy, żeby zabezpieczyć się przed tego typu sytuacją.
SQL Server Express można wykorzystywać do celów komercyjnych.
Używanie bazy danych do przechowywania ustawień(i tylko ustawień) to przerost formy nad treścią. Ani to wygodne, ani wydajne, dodatkowo bazy nie są do tego przystosowane. Oczywiście można to przechowywać “przy okazji”, ale nie w tego typu aplikacjach(gdzie ustawienia są per-user). W ostateczności można wykorzystać SQLite albo SQL Server Compact, ale to nadal mija się z celem. Zwykły plik konfiguracyjny(XML/JSON we własnym zakresie czy wbudowane rozwiązania takie jak, wymienione już, Settings(które to i tak wykorzystuje XML AFAIK)) to rozwiązanie najlepsze i najprostsze. Nie potrzeba konfigurować, nie potrzeba pobierać dodatkowych bibliotek, nie potrzeba bawić się w tabelę - wystarczy zdeserializować plik(przy użyciu Settings nawet tego nie trzeba robić).
Czyli każdy użytkownik ma mieć dostęp do identycznych wartości tych kilkuset zmiennych? Jeśli jeden z nich zmieni wartość którejś z tych zmiennych, to ta zmiana ma być widoczna dla wszystkich pozostałych użytkowników?
Jeśli tak to na początku nie do końca Cię zrozumiałem, ale w takiej sytuacji użycie bazy danych jest tym bardziej uzasadnione. Choć pojawia się nowy problem, a mianowicie zapewnienie, że te dane będą zsynchronizowane (nie jest to banalna rzecz).
Możesz też zastanowić się nad tym, czy do tego, co chcesz zrobić najlepszym rozwiązaniem jest aplikacja Windows. Może lepiej napisać aplikację ASP .NET? W takiej sytuacji miałbyś tylko jeden plik konfiguracyjny aplikacji i od razu masz załatwioną sprawę z zapewnieniem bezpiecznego połączenia z bazą danych. Aplikacja jest też wtedy niezależna od tego jaki system operacyjny mają zainstalowany użytkownicy i czy na ich komputerze jest .NET Framework. Ale wtedy też musiałbyś zaimplementować jakieś logowanie, żeby dostęp do aplikacji mieli tylko uprawnieni użytkownicy.
No to nie ma problemu. Dziennik możesz spokojnie robić jako aplikację ASP .NET. Skoro już mówisz o tych uwagach. Utworzysz sobie textbox, ustawisz mu MultiLine na true, Rows na ile tam będziesz chciał i nauczyciel będzie mógł sobie wpisywać uwagi.
Dzięki wam wszystkim za pomoc i dobre rady. Mam jeszcze jedno pytanko Znacie jakieś dobre kursy zabawy z SQL ? Wiem że na google jest tego pełno, lae może wy mi coś polecicie ?
Obawiam się, że jakiegoś takiego na prawdę dobrego to nie znam. Jak czasami potrzebuję coś sprawdzić na szybko to wchodzę na tą stronę: http://www.1keydata.com/sql/sql.html.
Sęk w tym, że sam SQL to nie wszystko. Większym problemem dla Ciebie będzie poprawne zaprojektowanie struktury bazy danych. Możesz zerknąć na ten link: http://forum.dobreprogramy.pl/dziennik-lekcyjny-jako-baza-danych-access-t425305.html. Swego czasu omawialiśmy tutaj podobny problem. Ale tylko podobny, bo Twoja baza danych będzie miała bardziej zaawansowaną strukturę.