Datovy typ DATE   otázka

VB.NET

CAute mam v databaze stlpec DATUM_NARODENIA ktory je typu DATE, a moj problem je v tom ze neviem ako ulozit prazdnu hodnotu datumu narodenia, ak napr. neviem datum narodenia.

vdaka

cujan

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

Na úrovni databáze se pro to používá hodnota NULL. V .NETím datovém typu DateTime (ve VB.NET stačí psát Date, je to alias) to nejde, datum je hodnotový typ, tím pádem do něj Nothing uložit nemůžete. Jedinou možností je udělat Nullable(Of Date), neboli napsat toto:

Dim datumNarozeni As Date?

Ten otazník na konci znamená, že proměnná může nabývat i hodnoty Nothing.

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

cize ak som to spravne pochopil tak zadam

Dim datum as date?

datum = datumnarodenia.text

a to znamena ze ak bude textbox prazdny tak mi to zobere?

vdaka

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

Ne, ani trochu. Jednak nemůžete do datového typu Date přiřazovat String, což je imho naprosto základní znalost a doporučuji si nastudovat články pro začátečníky, pokud vám tohle není jasné. Druhak pokud do textového pole nic nezadáte, vrátí prázdný string a nikoliv hodnotu Nothing.

Dim datum As Date?
If String.IsNullOrEmpty(DatumNarodenia.Text) Then
    datum = Nothing
Else
    datum = CDate(DatumNarodenia.Text)
End If

Tohle bude fungovat, ale neošetří to případy, kdy je datum zadáno blbě, muselo by se ještě použít DateTime.TryParse.

Je nějaký důvod, proč pro zadávání datumu nepoužíváte komponentu DateTimePicker, kde tyhle problém vůbec nemáte?

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