VB.NET, Databáze
18. 12. 2007 21:15
Petr Chalupský
18 80
Ukládám ve VB.NET do proměnné:
Dim Datum As Date = DateTimePicker1.Value
Formát v DateTimePicker1 je nastaven na dd.mm.rrrr, ale přesto se do proměnné načte v anglickém formátu - mm.dd.rrrr. Ukládám to potom do SQL tabulky, která je nastavená na ten český formát a samozřejmě to zbuchne. Jak mám tu proměnnou umravnit. Díky.
18. 12. 2007 21:20
Tomáš Jecha, MVP, MCSD
860 1596
Jak to ukládáte do databáze? Pokud máte správné datum v té proměnné, tak by s databází neměl být problém. Tedy alespoň pokud nepoužíváte textovou interpretaci datumu.
18. 12. 2007 21:53
Takhle to ukládám:
Me.Tbl_RozpisTableAdapter.Insert(intFaktura, intMaterial, intPocet, intKomu, Datum)
Ještě upřesním, na návrhu je v DateTimepickeru formát "český", ale při debagu, když se dívám na DateTimePicker1.Value, tak je "anglický".
18. 12. 2007 22:11
Je důležité si uvědomit, že datový typ Date svůj obsah uchovává numericky, ne textově (slovy). Tím pádem bude chyba pravděpodobně jinde. Co to hlásí za problém?
18. 12. 2007 22:34
Toto je chybová hláška při pokusu o ten insert:
The INSERT statement conflicted with the FOREIGN KEY constraint "FKtbl_RozpiFaktu0AD2A005". The conflict occurred in database "C:\PRIVATE\DATABAZE\EVIDENCEMATERIAL.MDF", table "dbo.tbl_Faktury", column 'IdFaktury'.
The statement has been terminated.
18. 12. 2007 22:43
Pokud si tu chybovou hlášku přeložíte, zjistíte, že chyba je ve sloupci IdFaktury. Je pravděpodobné, že vkládáte do toho sloupce hodnotu, která v provázané tabulce neexistuje.
18. 12. 2007 22:40
Omlouvám se, ta hláška s tím nesouvisí. Pošlu jinou a relevantní.
Mě to bylo hned divné :)
18. 12. 2007 22:49
Tak si musím chtě nechtě posypat hlavu popelem, jelikož byl problém jinde a ne s datumem. Datum sice v proměnné je v jiném formátu, ale do SQL tabulky se uloží správně. Chyba se týkala, jak šlo vyčíst z té hlášky, vztahu mezi tabulkami .... To je tak, když člověk podlehne panice a přestane uvažovat. Ještě jednou se omlovám za ztrátu času, který jste mohl vynaložit jistě lépe.
19. 12. 2007 0:29
Nemáte zač, hlavně, že se problém vyřešil.
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.
zapomenuté heslo
zaregistrujte se
Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?
Nahlásit Zrušit
zavřít