Avatar
hradil11
Člen
Avatar
hradil11:

Ahoj, ted řeším problém s ukládáním dat do souboru. Jedná se o soubor ve kterém budou logy plateb které se vykonají. Na každém řádku bude datum s časem a částka která se platila. Data budu ukládat do csv souboru. Jde mi ted o to, že do programu budu při požadavku načítat všechny data ze souboru kde se za několik měsíců může naskládat několik tisíců až desetitisíců řádků dat a ty následně procházet a vrtá mi hlavou jestli se program po těchto několika tisíců řádků nezpomalí a jaká bude asi časová náročnost načtení. Pokud by to už bylo časově náročnější a operace trvala delé a čas by se navyšoval, přemýšlím jestli data neukládat každý měsíc do nového souboru. Byl bych rád kdyby mi někdo poradil. Díky moc

 
Odpovědět 15.6.2014 22:06
Avatar
Odpovídá na hradil11
Michal Štěpánek:

Existuje nějaký důvod, proč data neukládat do databáze?

Nahoru Odpovědět  +1 15.6.2014 23:34
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Michal Žůrek (misaz):

použij localDB, budeš to mít jako soubor, ale mělo by to být rychlé.

Nahoru Odpovědět  +1 16.6.2014 6:50
Nesnáším {}, proto se jim vyhýbám.
Avatar
Lukáš Křehula
Redaktor
Avatar
Lukáš Křehula:

Co třeba ten soubor přečíst jen jednou při spuštění souboru, všechny potřebné informace poukládat třeba do List, s ním pracovat a při ukončení programu vše uložit?

 
Nahoru Odpovědět 24.6.2014 14:57
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Lukáš Křehula
gcx11:

A co když ti ten program spadne? Pak se ti ty změny neuloží.

 
Nahoru Odpovědět 24.6.2014 15:09
Avatar
Lukáš Křehula
Redaktor
Avatar
Odpovídá na gcx11
Lukáš Křehula:

To už ale není problém uživatele, ale výrobce, nemyslíš? Samozřejmě, dle mého názoru by měl každý program, při kterém se ukládá do souboru, mít tlačítko na uložení, kdyby se náhodou něco takového stalo.

 
Nahoru Odpovědět 24.6.2014 15:16
Avatar
Odpovídá na hradil11
Michael Škrášek:

Pokud nechceš použít databázi tak to ukládej každý měsíc do nového souboru.
A dál to můžeš rozdělit do složek na roky - v každé složce 12 měsíců.

Nahoru Odpovědět 24.6.2014 15:28
Proč to dělat složitě, když to jde jednoduše.
Avatar
Michal Haňáček:

Tak jako tak, dokud to bude "uchovávat a zpracovávat" v souborech, tak s tím bude mít podle mě zbytečně více práce a režie, než když využije databáze.

Každopádně soudě dle toho, že se tady zakladatel neozval od doby kdy založil diskuzi si myslím že má vyřešeno.

Nahoru Odpovědět 24.6.2014 15:39
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
hradil11
Člen
Avatar
hradil11:

Je potřeba mít vše uložené v souboru. Jedná se o ukládání plateb kdy po zaplacení se do souboru uloží zaplacená částka, jaká byla koupená položka a datum s časem. Jde o to, že pokud program jakým koliv způsobem padne tak v local DB mi to pak bude k ničemu když se ty soubory budou přikládat do účetnictví. Proto řeším to, jak nejlépe platby ukládat a do čeho. Aby to bylo vždy přístupné a to rychle i pro normálního člověka který tomu nerozumí. Ted sem to vyřešil do souboru csv a každý měsíc je v novém souboru. Pokud by měl někdo lepší formát nebo nápad jak to udělat tak budu jen rád :)

 
Nahoru Odpovědět 24.6.2014 22:32
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na gcx11
Jan Vargovský:

Proč by ten program padal?

 
Nahoru Odpovědět 24.6.2014 22:42
Avatar
hradil11
Člen
Avatar
hradil11:

Spadne elektřina, seknou se windows, a tak dále. Je prostě stále potřeba i když program nejede aby byl v souboru záznam o všech platbách. Ten se tiskne, přenáší a to už neobsluhuju já ale vlastník automatu.

 
Nahoru Odpovědět 24.6.2014 23:22
Avatar
Odpovídá na hradil11
Luboš Běhounek (Satik):

A co to ukládat do DB a do souboru to vypsat až na požádání?

Nahoru Odpovědět 25.6.2014 0:09
:)
Avatar
hradil11
Člen
Avatar
hradil11:

To by sice šlo, jenže musím zabránit, aby se nestalo to, že uživatel nechtěně vypne aplikaci a je po datech. Uživatelům je převážně kolem 60 ti let protože je na to obec nebo město dosadí a je vůbec problém je naučit ovládat myš, a spoléhat se na to že to správně uloží je problém.

 
Nahoru Odpovědět 25.6.2014 8:11
Avatar
hradil11
Člen
Avatar
hradil11:

Nad tou DB sem od začátku taky přemýšlel ale v tom souboru to je vždycky potřeba mít (náhodný výpadek, shodí se proud, rozbije se pc, atd.).

 
Nahoru Odpovědět 25.6.2014 8:13
Avatar
Odpovídá na hradil11
Michael Olšavský:

Odkdy se databáze maže při výpadku?? Od toho jsou právě databáze. Bezpečné, rychlé,...

 
Nahoru Odpovědět 25.6.2014 8:30
Avatar
Odpovídá na hradil11
Michal Haňáček:

Neber to prosím tě jako nějaký útok na tebe, to bych hrozně nerad. Ale já popravdě stále nechápu tvojí obhajobu "souboru" (ať už CSV, XML, TXT, ...). Přeci když ti "vypadne" proud, tak se nedostaneš ani k databázi, ani k souboru. Když přijdeš o kompa (rozuměj data), tak přijdeš o databázi stejně jako o soubor. Proč by jsi měl přijít o data v databázi když uživatel vypne aplikaci, to je přeci nesmysl ... nebo to nějako zle chápu.

Přemýšlel jsi například o řešení práv k zápisu do tvého souboru? Co se stane, když ten 60-ti letý "stařík" tvůj soubor otevře protože "se do něho bude chtít zrovna podívat" a tvoje aplikace do toho souboru bude potřebovat zapsat? Nemluvě o tom, že v souboru ti může uživatel cokoli a v podstatě kdykoli změnit, aniž by jsi na to přišel. Za další (s čím jsem se osobně setkal) je třeba problém s tím CSV kdy ho "stařík" otevře v excelu. Excel má někdy tendence si ho "přeuložit" (on se sice slušně poptá jestli může, ale co stařík udělá?) a při tom "přeuložení" ti může změnit strukturu (například zaměnit oddělovače, a to může být například při práci s desetinnými řády problém) ...

Pokud opravdu z nějakého důvodu trváš na souboru, tak bych se asi vydal cestou, kterou navrhoval Luboš Běhounek. Mít data v databázi a na požádání, nebo nějakou událost je duplicitně uložit i do souboru. Už jen z důvodu zálohy ...

Nahoru Odpovědět  +4 25.6.2014 8:36
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Martin
Člen
Avatar
Odpovídá na hradil11
Martin:

A když to lehne, stejně musíš z hdd vykopírovat soubory a předpokládám že není asi problém program spustit (nainstalovat) na jiném pc a tam dále pracovat s daty. A když máš starost o to že ti lehne PC tak zálohuj na jinný uložiště.

Nahoru Odpovědět 25.6.2014 8:44
Je jedno co děláš, ale záleží jak dobře to umíš prodat.
Avatar
Odpovídá na hradil11
Libor Šimo (libcosenior):

Nebolo by lepšie to napísať ako web aplikáciu a tam to dávať do databázy?

Nahoru Odpovědět 25.6.2014 9:40
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
jadana
Člen
Avatar
Odpovídá na hradil11
jadana:

IMHO to nejlépe vystihl Michal Haňáček.
Přečti si ještě jednou jeho příspěvek.
DB jsou přece od toho, aby uchovávaly data. A pak si můžeš těch tebou požadovaných csv-ček tvořit libovolné množství podle data

 
Nahoru Odpovědět 25.6.2014 11:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 19 zpráv z 19.