[Tutor PyCZ] Python, wxPython a databázová aplikace

superman feed na centrum.cz
Neděle Říjen 8 19:09:16 CEST 2006


> kváky, kvák. PyQt samozřejmě můžeš použít i jako ne-gpl. Toť vše k nekonečným 
> licenčním válkám. A teď si dám sám dobrovolně přes držku, že vůbec reaguju, 
> když už jsem si několikrát slíbil, že nebudu.

Ano, mohu si je koupit za cca 100 tisíc.

> Teď k těm GU-databázovým rozhraním. Ani v Qt nejsou dokonalé, ale alespoň tam 
> jsou. Navíc (teď se bavím o 3, páč 4 jsem s DB ještě nezkoušel) jsou tyhle 
> widgety nastaveny na naprosto zcestný auto-commit (když už použitá db 
> transakce podporuje), bez lidsky slušné možnosti to jakkoli změnit.

> Jak to řeším já (když už musím)? Nepoužívám je. Mám DB a mám GUI. GUI 
> standardní widgety, tedy žádné QSqlTable apod., plním z DB, při změně dat 
> uživatelem je pak manuálně vracím do DB a odchytávám výjimky. To je podle 
> mého nejednodušší a nejspolehlivější řešení.

Rozumím, tak to udělám také, pokud to nepůjde jinak. Ale je to dost 
práce, ošetřovat, aby se vám zobrazilo jen to, co je vidět. Načíst 
případně další data, když je uživatel posune. Pokud uživatel provede 
změnu, nějak to detekovat a vygenerovat příkazy pro změny.

> Navíc tě to donutí opravdu minimalizovat uživatelské vstupy. A uživatelské 
> vstupy jsou největším nebezpečím a zhoubou DB. Se sestavami a jinými výstupy 
> problém mít nebudeš.

To je pravda :-) Ale to přijde na řadu jako druhé, jak dělat sestavy a 
jak tisknout. To budu zjišťovat později, případně pokud máte tip hned...

> Samozřejmě, že už jsem viděl pár tuze "pěkných" programů, a to nejen 
> Pythonních, které používaly "dobrodiní" předpřipravených widgetů (jaj, ještě 
> že už je pryč éra delphích komponent... alespoň doufám). Jedním slovem děs a 
> mor. To už raději použij ms-accessovské formuláře, anebo oraklí formsy (když 
> už chceš být mermomocí trestán).

Delphi je stále živé, dokonce i já jsem v něm ještě nedávno programoval. 
Nemám sice rád ani Delphi ani Pascal, ale na druhé straně Delphi 
dokázali jednu věc a to vytvořit rychle grafický program. Jediný kdo mu 
konkuroval byl Visual Basic. Ale upřímně bych si přál, aby Delphi už 
konečně vymřelo.

MS Access bych normálně použil, pokud bych měl na něj licenci a runtime, 
protože tu svojí aplikaci bych v něm udělal za hodinku, možná dvě a 
ještě bych se u toho nudil. Ale řekněme, že to nejde, a tak MS Access 
maximálně můžu použít jako úložiště, i když pokukuji více po sqlite, 
které se mi to ale dokonale snaží zhnusut svojí nepodporou datumových 
typů a velmi chudým arzenálem funkcí plus nedostatečnou dokumentací. Ale 
zatím jsem sqlite nevzdal. Pořád si připomínám, že sqlite je embedded 
úložiště a ne databáze. Co je ale dobré jsou ty jeho triggery, těma už 
simuluji asi třicet věcí včetně kontroly typů a hodnot, referenční a 
doménovou integritu plus to co by měly triggery normálně dělat.

Ale řekněme, že tuto aplikaci chci udělat mimo jiné jako zkušební v 
Pythonu. Python se mi líbí a proto ho chci použít.

> takže - zdar a sílu
> petr, databázový senior (tak nějak to mám na vizitce napsáno, nebo tak něco)

Také zdravím :-)


Další informace o konferenci Tutor