Baza danych C# - poproszę o sugestie

0

Witam serdecznie. Aktualnie walczę z programem okienkowym C# (win forms) . Ma to być baza danych zawierająca imiona, nazwiska itd...
Do rzeczy. Potrzebuję w jakiś rozsądny sposób przechować obrazki, dźwięki oraz to co zostanie dodane przez użytkownika podczas korzystania z programu, aby po ponownym uruchomieniu dało się wszystko odtworzyć ( do stanu przed wyłączeniem ) . Wiadomo - dane tekstowe przechowam w pliku tekstowym, ale co na przykład z obrazkami, lub dźwiękiem? Dodam, że to ma być baza typowo offline.
Za wszelkie wskazówki będę jak zwykle bardzo wdzięczny.

Pozdrawiam serdecznie i życzę dobrej nocy!

0

Może spróbuj użyć jakiejś lokalnej bazy typu SQLite?

0

A nie da się w jakiś sposób zapisywać obrazów do folderu z programem nadając im przy tym jakieś ID , aby później można było je przywołać z tej lokalizacji w której są zapisane? Oczywiście równolegle przywoływałbym odpowiedni tekst z pliku tekstowego.

1

Możesz zapisywać wszystkie obrazki i dźwięki do konkretnego katalogu i rozpoznawać je po nazwie pliku. Bazę danych jednak i tak proponowałbym stworzyć i w niej np. przechowywać nawę pliku (przy założeniu, że ścieżka będzie stała) przypisaną do danego użytkownika. Również wszystkie dane użytkowników warto trzymać w bazie danych zamiast w pliku tekstowym. Jest to dużo bardziej profesjonalne rozwiązanie. Jako alternatywę dla SQLite mogę zaproponować też LocalDB.

0

No cóż, niech będzie :) Znacie jakiś szybki sposób, aby utworzyć ArrayList'a z elementów ListView'a? Chodzi mi o pobieranie z ListViewa w następujący sposób : pierwszy wiersz : pobierz wszystkie kolumny, zapisz do Array, drugi wiersz : ... Z góry dzięki za pomoc

0

Do ArrayList nie, bo z tego nie korzysta się od 10 lat...

0

A do zwykłej listy? Nie miałem pojęcia, że Array jest taki zamierzchły :D

0

Zakladam, ze nie chcesz typowych baz.
Juz wspomniane sqllite albo sqlcompact.

Z sqlCE mozna chyba uzywac LINQ albo nowszego ORM'a.
Byc moze z sqllite tez (nie wiem, musisz sprawdzic, albo ktos podpowie).

Dane konfiguracyjne (np uzytkownikow) mozna trzymac w plikach xml. (odradzam gole pliki tekstowe).

Ps. Kiedys potrzebowalem zrobic ksiege gosci do projektu asp.net i uzylem wlasnie sqlCE (projekt nie korzystal z zadnej innej bazy). To bylo dosc dawno temu.

1
Shadoow napisał(a):

A nie da się w jakiś sposób zapisywać obrazów do folderu z programem nadając im przy tym jakieś ID , aby później można było je przywołać z tej lokalizacji w której są zapisane? Oczywiście równolegle przywoływałbym odpowiedni tekst z pliku tekstowego.

Da się. Trzeba to zaprogramować i będzie.
Tylko zamiast do folderu z programem lepiej do jakiegoś folderu użytkownika w %APPDATA%, żeby mieć pewność praw zapisu w takiej lokalizacji i ułatwione backupowanie.

0

@somekind Dzięki wielkie. A wracając do tematu listy? Da się to w jakiś łatwy sposób wykonać - utworzyć Listę z elementów ListView'a ?

Refresh :)

1

Oczywiście szukałeś? U mnie to pierwszy wynik na google: https://www.google.pl/search?q=ListViewItemCollection+linq:
var ienumerable = listView.Items.Cast<ListViewItem>();

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