Databáze > Ostatní DB
SQLite a DBase - "FileAge"
(1/1)
PetrB0:
Ahoj,
postupně se prokousávám implementací DBase pod SQLite pod UniDac. Nevíte, poskytuje SQLite nějakou funkci, která vrátí něco ve smyslu FileAge (tedy spíše TableAge) ? Jde mi o to, že mám dvě tabulky, kdy druhá se počítá (na vyžádání) z té první. Před uzavřením aplikace chci otestovat, zda ten výpočet proběhl. Napadlo mne, že nejlepší by bylo porovnat, která je mladší (která se naposledy editovala). Pokud je mladší jednička, nabídne se uživateli přepočet dvojky. Ale nevím, jak to udělat. Klasické (souborové) FileAge na adresáři otevřeném pod SQLite použit nemohu.
Díky
Pb
Jirka:
Nebylo by lepší použít pomocnou tabulku s poli TABLE_1_UPDATE_TIME a TABLE_2_UPDATE_TIME typu DateTime , do které bys zapisoval datum a čas poslední aktualizace
a pak si při ukončovaní aplikace porovnal ?
Nevím jak to má ale SqLLite ale ve Firebirdu bych to řešel pomocí trigeru
pf1957:
A je nejaky problem vytvorit extra tabulku s casem, na zacatku transakci ji vynulovat a pri commitu (po ukonceni vypoctu) nastavit na current_timestamp?
Co by se v SQLite dalo udelat, ze v te pocitane tabulce pridas extra pole a nechas ho pri insertu nastavit na default time. To je bez dalsi prace, ale bude to u kazdeho zaznamu:
--- Kód: SQL ---TIMESTAMP DATETIME DEFAULT CURRENT_TIMESTAMP;
PetrB0:
No, obecně ano, ale toto je zpracování souborů DBase IV a vzhledem ke spolupráci se staršími aplikacemi si tam nemůžu moc vyskakovat. Tak jsem to trochu obešel. Před otevřením databáze si načtu klasické FileAge všech DBF souborů. Při zápisech si to aktualizuji a to potom v případě potřeby porovnávám. Funguje to jak potřebuji, ale není to tak přímočaré, jak jsem původně očekával.
Navigace
[0] Seznam témat
Přejít na plnou verzi