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

  Poslední články
  Období

RSS Feed 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

Programátorská hádanka - řešení

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
Diskuse: 4
Hodnocení: Hodnocení: 4,5/5Hodnocení: 4,5/5Hodnocení: 4,5/5Hodnocení: 4,5/5Hodnocení: 4,5/5     Zobrazeno: 4073x

Kategorie: Aplikace, Život, vesmír a vůbec        

.NET Tip #31: Pozor na datum v SQL Serveru

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
Diskuse: 5
Hodnocení: Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5     Zobrazeno: 3761x

Kategorie: SQL, .NET Tips        

 Strana 1 z 1 (článků: 2) 1 
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.