Názorný postup: Přidání ověření dat aplikace N-té
Ověření dat je proces ověření, že hodnoty zadané do datové objekty (například DataTables nebo LINQ třídy SQL) v souladu s omezeními v objektu schématu.Ověření také zajišťuje dodržování pravidel stanovených pro aplikace.Před odesláním aktualizace do podkladové databáze ověřování dat je dobré praxe, která snižuje chyby.Také snižuje počet přenosy dat mezi aplikací a databází.
Tento návod obsahuje podrobné pokyny pro přidání ověření aplikace n té (vytvořené v roztoku Názorný postup: Vytváření aplikací N-té dat téma).
Během tohoto postupu se dozvíte, jak provádět následující úkoly:
Automaticky generovat pomocí částečné třídy Vytváření a úpravy typovaných datových sad.
Přidání kódu k ověření při změně hodnoty v jednotlivých sloupců.
Požadavky
K dokončení tohoto postupu je třeba:
Řešení a související projekty vytvořené v Názorný postup: Vytváření aplikací N-té dat.
Přístup k ukázkové databázi Northwind.Další informace naleznete v tématu Jak: Instalace ukázkové databáze.
[!POZNÁMKA]
Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.
Otevírání řešení NTierWalkthrough
Otevřete NTierWalkthrough řešení
Na soubor nabídce přejděte na otevřených, klepněte na tlačítko Projekt nebo řešenía přejděte do umístění souboru NTierWalkthrough.sln.
[!POZNÁMKA]
V je vytvořen soubor NTierWalkthrough.sln Názorný postup: Vytváření aplikací N-té dat téma a je předpokladem k dokončení tohoto postupu.Dokončení Názorný postup: Vytváření aplikací N-té dat téma, po dokončení, pokud jste to ještě neučinili ukládání všech projektů.
Přidání ověření zkontrolovat během jednotlivých změn sloupce dat
Tento postup bude přidání ověření zda sloupci DatumObjednávky v nové objednávky je nastavena na hodnotu aktuálního data nebo starší.Požadavek této aplikace je, že ve sloupci DatumObjednávky nelze datum je pozdější než dnešní; budoucí objednávky není povoleno.
Přidání ověření ověření hodnot zadávaných do sloupce DatumObjednávky
Otevřete objekt dataset v Vytváření a úpravy typovaných datových sad poklepáním na soubor NorthwindDataSet.xsd v DataAccessTier projektu v aplikaci Solution Explorer.
Poklepejte na sloupec DatumObjednávky v Návrháři tabulky objednávky.Tato akce vytvoří ColumnChanging obslužnou rutinu události.
[!POZNÁMKA]
Návrhář Dataset automaticky vytvořit obslužnou rutinu události pro událost C#.Kód, který je vyžadován pro zpracování událostí v jazyce C# je později součástí tohoto postupu.SampleColumnChangingEventje vytvořena a poté přihlásí k odběru ColumnChanging událostí v EndInit metoda.
Přidat kód ověřit, zda e.ProposedValue DatumObjednávky sloupec obsahuje aktuální datum nebo starší.Jestliže navržená hodnota není platná, nastavte sloupec označte obsahuje chybu.
Následující příklad kódu ověřuje, že DatumObjednávky sloupec obsahuje aktuální datum nebo starší.Pokud DatumObjednávky hodnota je vyšší než dnešní datum, je ve sloupci DatumObjednávky nastavena došlo k chybě.Else Klauzule vymaže chybu, pokud je DatumObjednávky dnešní nebo dřívější.
Vložte do kódu jazyka Visual Basic ColumnChanging obslužnou rutinu události.Vložte kód jazyka C# do OrdersDataTable prohlášení částečné třídy.
If (e.Column.ColumnName = Me.OrderDateColumn.ColumnName) Then If CType(e.ProposedValue, DateTime) > Today Then e.Row.SetColumnError(e.Column, "OrderDate cannot be in the future") Else e.Row.SetColumnError(e.Column, "") End If End If
// Replace the NorthwindDataSet partial class with the following: public partial class NorthwindDataSet { partial class OrdersDataTable { public override void EndInit() { base.EndInit(); // Configure the ColumnChanging event // to call the SampleColumnChangingEvent method. ColumnChanging += SampleColumnChangingEvent; } public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e) { if (e.Column.ColumnName == OrderDateColumn.ColumnName) { if ((System.DateTime)e.ProposedValue > System.DateTime.Today) { e.Row.SetColumnError("OrderDate", " OrderDate cannot be in the future"); } else { e.Row.SetColumnError("OrderDate", ""); } } } } }
Testování aplikace
Testování aplikace změnou hodnoty ve sloupci DatumObjednávky na datum, které není platný.
Testování aplikace
Stisknutím klávesy F5.
Data z tabulek Zákazníci a objednávky se zobrazí ve formuláři.
V ovládacím prvku DataGridView obsahující objednávky změňte hodnotu ve sloupci DatumObjednávky (ze záznamu) na zítřejší datum.
Opustí řádek potvrďte změny.
Ověření se nezdaří a zobrazí se ikona chyby DatumObjednávky buňku, která obsahuje neplatnou hodnotu.
Umístěte ukazatel myši na ikonu chyba se chyba ověřování.
Zavřete formulář.
Další kroky
V závislosti na požadavcích aplikace existuje několik kroků, které chcete provést po přidání ověření n té aplikaci.Například můžete chtít provést následující zdokonalení této aplikaci:
- Přidání ověření, který ověřuje změny při změně celý záznam.Informace naleznete v části Jak: Přidání ověření do objektu Dataset N-té.
Viz také
Koncepty
Novinky ve vývoji datových aplikací v sadě Visual Studio 2012