Datum   otázka

VB.NET, .NET

Caute

riesim taky maly problemik. Mam v tabulke student udaje o studentoch a jeden z udajov je aj Datum_narodenia, stlpec je typu string, lebo ked som dal Date tak som mal kus problem lebo nechcelo mi vlozit prazdnu hodnotu. A problem je v tom ze ked vkladam datum do TextBoxu tak rad by som na TextBox nahodil dajaku kontrolu aby mi kontolovalo spravnost datum vkladaneho (aby mi napr. uzivatel nemohol ulozit datum v ktorom je nejaka medzera, ktora tam nema byt atd.) Mozete mi nieco poradit?

Cujan

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím proč používate pro datum sloupec typu string??

Každý sloupec má určitý parametry a ty musíte nastavit. Jako třeba jestli může být hodnota sloupce null atd. Radši bych si pohrál s tím datumem než to rešit přes string. Jinak pokud trváte na svém tak bych použil MaskedTextbox.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No tak riesil som to samozrejme s typom Date, len som sa tu docital ze .NET nepodporuje hodnotu NULL pre typ Date. Aspon teda dufam ze som spravne pochopil. Tak preto sa to snazim riesit na urovni formu a typu string.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Uchovávat to ve Stringu je prasárna. Nemusíte mít všechny hodnoty záznamu v DataGridViewu, tam stačí jen ty hlavní. Ostatní můžete mít v ovládacích prvcích umístěných pod DataGridViewem, potom se snadno ošetří hodnota Null u datumu například zakázáním toho ovládacího prvku. Říká se tomu Master-Detail View. A kromě toho by stejně měla u všech sloupců být definovaná výchozí hodnota a tato hodnota se zobrazuje pokud uživatel nic nezadá. Může to být třeba aktuální datum nebo Date.MinValue.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Ako suhlasim len co je vychodzia hodnota pre datum narodenia? ide o tot ze ked potom potrebujem vyselektovat zaznamy podla nejakeho kriteria tak hocijaka hodnota mi moze robit problem. a DateTime picker nedokaze vratiti zevraj NUll ako som sa tu docital.

cujan

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

A taky používat textBox není vhodné. Když už tak MaskedTextBox (jak už bylo zmíněno) ,ale já bych to řešil buď přes dateTimePicker nebo MonthCalendar které jsou pro operaci s datem přímo určené.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

jasne ale DateTiemPicker nedokaze vratit prazdnu hodnotu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dokáže a řešilo se to tady už storkát. Je tam vlastnost tuším ShowCheckBox, která vedle něj zobrazí zaškrtávátko. Prázdnou hodnotu zadáte tak, že ho odškrtnete, jinak je zaškrtlé a zadá se tam datum. To, jestli tam je něco zadáno, se zjistí jestli si dobře pamatuji z vlastnosti Checked.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

tak to je vsetko v poriadku, len to vieme my co tie progray robime, skuste sa nato pozriet s pohladu uzivatela, ktry sa dostane ku softu nainstaluje ho a zacne pouzivat. Co myslite napadne ho ze ked nema nejaky udaj tak ma zaskrtnut nejake policko? a pouzivat na formoch nejake popisy alebo vysvetlenia tak to nie je vobec gustovne. proste sa snazim len hladat nejake intuitivne riesenie a zaroven aby bolo spolahlive.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Řekl bych že spíš ta aplikace je vámi zhovaděle navržená a zaplétáte se do stále větších problémů. K čemu má to datum vůbec sloužit? Ještě jsem neviděl aplikaci, kde by se datum zadával volitelně. Nezadává se buď vůbec, nebo povinně a v tom případě má výchozí hodnotu aktuální datum.

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

S tím bych trošku nesouhlasil i volitelné zadání data nalezne využití. Mně se to například hodilo v případě, kdy jsem potřeboval do databáze zapsat údaje o smlouvách. Smlouva může být na dobu určitou a v tom případě zadám datum konce smlouvy. Pokud je ale smlouva na dobu neurčitou, nic zadávat nebudu.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Ale ale, volitelné datum se používá často. Zadáváte do databáze například zakázku a termín dokončení ještě neznáte, tak ho prostě nezadáte a vyplní se později.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím, kdo bude vaši aplikaci používat, ale DateTimePicker se zaškrtávátky jsem používal naprosto běžně a nikdo z uživatelů (a že jich bylo asi 500) si nikdy nestěžoval. Podle mě je to naprosto intuitivní - když je to odškrtlé, tak celé políčko zešediví a je očividné, že datum neplatí. Když datum začnete zadávat, samo se to zaškrtne.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback