Diskuze: Desktopová aplikace v C# propojená s databází
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, tomu, co potřebuješ se říká SQL server. Předpokládám, že aplikace je desktop, takže máš 2 možnosti:
Vytvořit instalaci programu a zahrnout do ni instalaci s nastavením SQL Server Express
Předělat aplikaci na webovou a budeš mít přístup odkudkoliv bez nutnosti cokoliv instalovat či nastavovat. Fakturační systém s databází odběratelů je celkem triviální záležitost a přepsat ho do webové formy by měla být otázka max 2 - 3 hodin.
Sorry, už v nadpisu píšeš, že jde o desktop. Jsem jen slepejš
Nebo také existují řešení, která jen pripojis do projektu jako jeden soubor a funguje to taky pěkně. Tato řešení mají nějaká omezení, ale uvidíš sám co ti bude vyhovovat.
Na Google hledej pod výrazem "embedded database".
Pro příklad existuje např. Relační db Sqlite. Celkem zajímavá je tedka i 5 verze LiteDB
SQL lite ma tusim verzi, kterou neni nutne instalovat.
CSV soubor se da pouzit jako jednotabulkova databaze. Soucasne to jde
editovat v excelu (kdyz si v nem vypne vselijake autokorekce a prevody sloupcu
na datum-cas, penize a jine nesmysly). Muzes si vytvorit slozku a tech csv
vytvorit vicero. Nebo to vse natlacit do jednoho souboru a pak to nejak
rozsekat. Nebo to cele zazipovat
S propojovanim se serverem vidim problem. To by bylo idealni mi naistalovanou
databazi u uzivatele. Ty programy maji takove moznosti, jako je msexchange a
pod.
Ale, jestli chces neco na komunikaci s webem, tak existuji mini-web-browsery,
ktere proste jen odesilaji a prijimaji pozadavky. Nicmene, tvuj program by musel
volat program s cmd. wget/curl HTTPie (google = cmd web request win10). Funguje
to jako ajaxovy request. Predas url s parametry vrati nejaka data, ktera prebira
tva app. Cely prenost je tak bezpecny, jak moc muzes duverovat cizimu programu,
ze neni plny bugu. Podobne, jako se duveruje treba browseru
Hodně záleží na tom, jak velká by měla být databáze, co všechno by měla obsahovat, kolik "řádků(záznamů)" apod., dále jestli mají ty počítače vidět do té samé DB (když budou na stejné "síti", je to brnkačka), nebo mají mít každý svoji DB, atd. Třeba by ti jako DB mohl dobře posloužit jen XML soubor...
To co hledáš se jmenuje SQLite. Tu je třeba dobrý tutorial https://www.codeproject.com/…sharp-VB-Net
nemusíš řešit žádný server, složité připojování a instalaci na
počítač klienta, atd..
Já bych stejně doporučoval vzdálenou DB v cloudu a API nebo aplikaci udělat jako webovou. Přidal bych i registr uživatelů, aby se i při instalaci na další PC zachovala data odběratelů nebo dodavatelů. S SQLite by se musel řešit nějaký backup soubor a to je uživatelsky poměrně otravné. Například v rámci 1 firmy s 15 PC by se musela data stále aktualizovat. V rámci sítě lze využít i SQL Server se sdílenou DB na serveru, ale to je málo efektivní a poměrně složité na nastavení i správu.
Já jsem nedávno použil https://www.elephantsql.com/plans.html v základním plánu a vše v pohodě funguje. Hádám, že používáš Entity Framework, takže s ním je otázka změny DB chvilka, když už máš jednou napsanou logiku pro modely.
Zobrazeno 9 zpráv z 9.