DBGrid vs DataGridView   otázka

VB.NET, WinForms, Databáze

Mám aplikaci ve VB5, která čte data ze souboru DBF pomocí nástroje "Data" a prezentuje je pomocí DBGridu. Jediné co nefunguje je čeština. Nyní jsem byl postaven před problém číst DBF soubor vytvořený novějším nástrojem. Rozdíl byl v tom, že datum a čas je v novém souboru zapsán v UTC formátu (např. 40123.658721348654). Jaké bylo mé překvapení, že DBGrid ve VB5 tomuto formátu rozumí, stačí nastavit v Property Pages na záložce Columns vlastnost Number Formát na třeba short date a je to. Protože ale stále nefunguje čeština (zřejmě proto, že VB5 při otevírání souboru automaticky provede konverzi z UTF8 na ANSI - jenže soubor byl v ANSI uložen) zkusil jsem celou aplikaci převést do VB.NET. Zde je však situace ještě horší. Soubor nyní otevírám pomocí OLEDB (to funguje), ale opět dojde ke konverzi a tím pádem ke ztrátě diakritiky. Navíc nový DataGridView si s UTC formátem datumu vůbec nerozumí, buď jej zobrazí jako číslo a pokud nastavím vlastnost DefaultCellStyle.Format = "d" tak dojde u každého záznamu k výjimce "Format specifier was invalid". Otázky jsou tedy 3: lze ve VB5 zajistit, aby při otevření souboru nedocházelo ke konverzi Unicode-ANSI? Lze donutit DataGridView z VB.NET aby správně zobrazil datum zapsaný v mezinárodním UTC formátu? Lze donutit aplikaci ve VB.NET aby při načítání DBF souboru neprováděla konverzi Unicode-ANSI? Za jakoukoli radu předem děkuji.

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

2. DataGridView nemá problém se zobrazováním datumu v UTC pokud je validní jeho hodnota. Hodnota ze které se vytváří datum a formátovací řetězec jsou dvě rozdílné věci.

3. To není záležitost VB.NET ale OLE DB/ODBC ovladače. Pro přístup k databázi doporučuji použít ODBC, pokud si vytvoříte testovací připojení do databáze ve Visual Studiu (Server Explorer) tak všechny parametry (včetně kódování) lze nastavit vizuálně a potom použít v Connection Stringu.

nahlásit spamnahlásit spam -1 / 1 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