Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar

Člen
Avatar
:15.6.2014 22:06

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
Michal Štěpánek:15.6.2014 23:34

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

Nahoru Odpovědět
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:16.6.2014 6:50

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

 
Nahoru Odpovědět
16.6.2014 6:50
Avatar
Lukáš Křehula:24.6.2014 14:57

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
Tvůrce
Avatar
Odpovídá na Lukáš Křehula
gcx11:24.6.2014 15:09

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

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

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
Michael Škrášek:24.6.2014 15:28

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
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
Michal Haňáček:24.6.2014 15:39

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

Člen
Avatar
:24.6.2014 22:32

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ý
Tvůrce
Avatar
Odpovídá na gcx11
Jan Vargovský:24.6.2014 22:42

Proč by ten program padal?

 
Nahoru Odpovědět
24.6.2014 22:42
Avatar

Člen
Avatar
:24.6.2014 23:22

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
Luboš Běhounek Satik:25.6.2014 0:09

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
https://www.facebook.com/peasantsandcastles/
Avatar

Člen
Avatar
:25.6.2014 8:11

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

Člen
Avatar
:25.6.2014 8:13

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
Michael Olšavský:25.6.2014 8:30

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
Michal Haňáček:25.6.2014 8:36

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
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
Martin:25.6.2014 8:44

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
Libor Šimo (libcosenior):25.6.2014 9:40

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
jadana:25.6.2014 11:48

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.