Vývojářský blog Tomáše Jechy

Poslední články

Období
RSS Feed
.NET Tips 2D 3D Aplikace ASP.NET C# C++ HTML+CSS Internet Javascript Office Silverlight SQL VB.NET VB6 VbNet.cz Vista VS Život, vesmír a vůbec Všechny články
Vybrané období: Červenec 2009
Dnes jsem vymyslel jednu programátorskou hádanku. Zajímalo by mě, zda ji někdo vyřeší, nepatří mezi ty nejlehčí :-). Tady je:
Tři programátoři Jack, John a Jeff píšou aplikaci pro evidenci zakázek jedné menší firmy. Rozhodnou se, že projekt se bude skládat ze 3 assembly (dll knihoven):
- datová vrstva
- vrstva business objektů
- prezenční vrstva
Indicie:
(1) Třída A používá třídu ComboBox.
(2) Třída B, I a J používá třídu DbCommand.
(3) Jeff nepsal žádné rozhraní.
(4) Třída C implementuje rozhraní H.
(5) Třída B používá třídu F.
(6) Internal rozhraní H psal John.
(7) Třída I je internal a psal ji Jack, stejně jako třídu A.
(8) Třídy A a C jsou ve stejné assembly.
(9) Třídy J a E používají třídu I.
(10) Třídu public B a rozhraní H psal stejný vývojář.
(11) Internal třída F je v jiné assembly než třída A a I, ale psal ji stejný vývojář.
(12) Jack při psaní projektu neudělal žádnou chybu.
[Pokračování článku]
Datum: 27. 7. 2009 12:05
Kategorie: Aplikace, Život, vesmír a vůbec
Dnes tu budu psát o 2 chuťovkách, které mohou vývojáře překvapit při psaní Transact-SQL scriptů pro Microsoft SQL Server. Obě by se daly označit oblíbeným tagem “na mém počítači to funguje, tak proč ne na serveru u zákazníka?!”.
První problém je s parsováním data. Pokud píšete SQL scripty, často narazíte na nutnost zadat datum textově. Možná už tušíte, že na každém serveru může být formát jiný. Ty se liší pořadím jednotlivých složek (m = měsíc, y = rok, d = den). V SQL Serveru existují následující: mdy, dmy, ymd, ydm, myd, dym. Formát lze ale snadno nastavit příkazem SET DATEFORMAT formát. Takže pokud chcete používat datum ve formátu ‘2009-05-17’ bylo by dobré před zadáváním zavolat:
-- formát datumů ROK, MĚSÍC, DEN
set dateformat ymd
Jak to tak bývá, tak většinou je zadávání data bez problémů, ale lepší je formát vždy upřesňovat. Více informací na MSDN: http://msdn.microsoft.com/en-us/library/ms189491.aspx
Druhý zádrhel může nastat při zjišťování čísla dne v týdnu funkcí DATEPART(dw, ‘datum’). Ta vrací rozsah mezi 1-7. Pokud nekouknete do dokumentace a pouze si zkusíte, jaké čísla to vrací pro jaký den, můžete si myslet, že čísla jsou pro jednotlivé dny pevně dány. Bohužel ale první den může být kterýkoliv v závislosti na nastavení. Proto je i zde lepší před zjišťováním dne v týdnu použít funkci SET DATEFIRST číslo_dne. Jako parametr předáte číslo dne, který má být označován jako první (1 pro pondělí, 7 pro neděli).
[Pokračování článku]
Datum: 3. 7. 2009 11:22
Kategorie: SQL, .NET Tips
Strana 1 z 1 (článků: 2) 1