Aplikacja Okienkowa Przechowywanie Danych

0

Witam,

Sprawa wygląda następująco, robimy z kolegami projekt aplikacji okienkowej dla trenerów w szkole. Aplikacja ma być prosta zapis/odczyt, dodanie/usuwanie zawodników. Dane zawodników: imię nazwisko, czas biegu, pozycja startowa. Na początku myślałem o rozwiązaniu na listach i zapisu do pliku .txt, ale jedna uwaga czasy mają być sortowane rosnąco, wiec trzeba zachować ID zawodnika, żeby nie pomylić nazwiska i pozycji na jakiej biegł. No i mam kłopot. Podstawy ogarniam z c# jakieś propozycje ?

1

Jakaś baza danych byla by najlepsza do tego. Jak ma byc lekko i wydajnie to polecam SQLite.

1

takie rzeczy trzyma się w excelu.

0
Julian_ napisał(a):

Jak postawisz bazę MySQL to kto to będzie potem używał? trenerzy znają SQLa? chyba nie.

Yyy a po co? W dobrze napisanym programie nie ma potrzeby grzebać bezpośrednio w SQLu.

0
Azarien napisał(a):
Julian_ napisał(a):

Jak postawisz bazę MySQL to kto to będzie potem używał? trenerzy znają SQLa? chyba nie.

Yyy a po co? W dobrze napisanym programie nie ma potrzeby grzebać bezpośrednio w SQLu.

Jak idziesz wyrzucić śmieci to podjeżdżasz samochodem czy idziesz pieszo?

0

Równie dobrze można korzystać z bazy i zrobić import do exela ...

2

A może CSV? Przecinkiem oddzielasz wartości a nowa linia to kolejny zawodnik.

Jeżeli ma być to prosta aplikacja i nie ma potrzeby dostać się do danych z innego komputera to IMO bez sensu stawiać bazę danych.

2

@atmal: przecież np. do SQLite nie ma potrzeby stawiania żadnej bazy, a ma się pełen dostęp do składni SQLa.

@barotsz: pobaw się SQLite.

2

@Patryk27: SQLite i C# przy podstawach nie za bardzo idą w parze... Lepiej MS SQL Compact Edition. Ew. Access, ale tylko i wyłącznie jako magazyn danych, nic nadto...

1
barotsz napisał(a):

Witam,

Sprawa wygląda następująco, robimy z kolegami projekt aplikacji okienkowej dla trenerów w szkole. Aplikacja ma być prosta zapis/odczyt, dodanie/usuwanie zawodników. Dane zawodników: imię nazwisko, czas biegu, pozycja startowa. Na początku myślałem o rozwiązaniu na listach i zapisu do pliku .txt, ale jedna uwaga czasy mają być sortowane rosnąco, wiec trzeba zachować ID zawodnika, żeby nie pomylić nazwiska i pozycji na jakiej biegł. No i mam kłopot. Podstawy ogarniam z c# jakieś propozycje ?

Ja dopiero uczę się c#. Ale skoro tylko sortowanie jest dla Ciebie problemem, to może zastosujesz Linq? Właśnie zacząłem się tego uczyć i listę to bym sobie posortował. O na przykład tak:

    class Zawodnik {
        public Zawodnik(int Id, string NazwiskoImię, double Wynik) {
            this.Id = Id;
            this.NazwiskoImię = NazwiskoImię;
            this.Wynik = Wynik;
        }
        public string NazwiskoImię { get; private set; }
        public int Id { get; private set; }
        public double Wynik { get; private set; }
        public override string ToString() { return Id + ". " + NazwiskoImię + " - " + Wynik; }
    }

    class Trener : IDisposable {
        private List<Zawodnik> Zawodnicy = new List<Zawodnik>();
        public void Dispose() { /* Tu nie ma nic do roboty */ }
        public void ReadData()
        {
            throw new System.NotImplementedException();
        }
        public void SaveData()
        {
            throw new System.NotImplementedException();
        }
        public void ShowData() {
            // poniższa linia jest umieszczona tylko dla wstępnego testu - docelowo do usunięcia
            InitTestData();

            var result = from v in Zawodnicy  orderby v.Wynik descending select v.ToString();
            foreach (string s in result) Console.WriteLine(s);
        }
        // poniższa metoda jest umieszczona tylko dla wstępnego testu - docelowo do usunięcia
        private void InitTestData() {
            Zawodnicy.Add(new Zawodnik(1, "koleś 1", 12.6D));
            Zawodnicy.Add(new Zawodnik(2, "koleś 2", 11.7D));
            Zawodnicy.Add(new Zawodnik(3, "koleś 3", 13.9D));
        }
    }

No i gdzieś możesz sprawdzić, czy działa i zrobić na przykład coś takiego:

using (Trener trener = new Trener()) { trener.ShowData(); }

1 użytkowników online, w tym zalogowanych: 0, gości: 1