JAK: Vytvoření a použití zadaný objekt DataSet pomocí aplikace Visual C#.NET

Překlady článku Překlady článku
ID článku: 320714 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje, jak vytvořit a použít zadaný Objekt DataSet v malé webové aplikace. Zadaný Objektech DataSet, které dědí Objekt DataSet třídy, vytvoření prvotřídní členy Objekt DataSetspolečnosti DataTables a Objektů DataColumns, získávání mnoho výhod, dodávaných s použitím silné psát.

Požadavky

Následující položky popisují doporučený hardware, software, síťovou infrastrukturu, dovednosti a knowledge a aktualizace service Pack, které potřebujete k dokončení těchto kroků:
  • Microsoft SQL Server verze 6.5 (nebo vyšší) s databázi Northwind
Předchozí dovednosti potřebné:
  • Obecná znalost Microsoft SQL Server
  • Obecná znalost Microsoft Visual Studio.NET
  • Obecná znalost Microsoft ADO.NET
  • Obecná znalost Microsoft.NET webových ovládacích prvků

Zadaný objektů DataSet.

Vytvoření malé webové aplikace pomocí aplikace Visual Studio, postupujte takto:NET. Používá zadanou webovou aplikaci Objekt DataSet výsledky se amatérsky dotaz SQL v databázi Northwind.
  1. Spusťte aplikaci Visual Studio.NET.
  2. Vytvoření nového projektu webové aplikace s názvem TDS. v aplikaci Visual C#.NET.
  3. Přesvědčte se, zda je zobrazen aplikaci Solution Explorer. Pokud aplikaci Solution Explorer není zobrazena, stiskněte kombinaci kláves CTRL + ALT + L.
  4. Ujistěte se, že souboru WebForm1.aspx je otevřen v okně editoru. Pokud soubor není otevřený, poklepejte na položku WebForm1.aspx v aplikaci Solution Explorer k otevření souboru.
  5. V okně Editor klepněte na tlačítko Návrh Přepněte do návrhového zobrazení.
  6. Chcete-li otevřít panel, stiskněte CTRL + ALT + X. V soupravě nástrojů klepněte na tlačítko Webové formuláře. Vybrat a přetáhnout do levého horního rohu stránky následující: dva řádky každého štítku následuje textové pole (umístěn vpravo od každého štítku). V sekci, přidejte Objekt DataGrid stejným způsobem.
  7. Klepněte na popisek nahoře. Stisknutím klávesy F4 zobrazte okno Vlastnosti. Změnit Vlastnost text k Produkt. Klepněte na tlačítko Další označení a změňte jeho Vlastnost text k Kategorie.
  8. Přidat nový Objekt DataSet k projektu stiskněte kombinaci kláves CTRL + SHIFT + A a klepněte na tlačítko Objekt DataSet v seznamu šablon. Název Objekt DataSet následující: dsProducts.xsd. Všimněte si, že soubor je skutečně schématu XML. Klepněte na tlačítko OK. Nyní se zobrazí světle žluté stránky v okně editoru.
  9. Vytvořit zadaný Objekt DataSet, stiskněte kombinaci kláves CTRL + ALT + S otevřít Server Explorer.
  10. Klepněte na tlačítko Servery, klepněte na tlačítko název počítače, klepněte na tlačítko SQLServers, klepněte na tlačítko název serveru, klepněte na tlačítko Northwinda klepněte na tlačítko Zobrazení.
  11. Vyberte zobrazení serveru SQL Northwind Abecední seznam výrobkůa pak přetáhněte zobrazení na světle žlutou. Objekt DataSet stránka. Na stránce se zobrazí vizuální reprezentaci generovaných zobrazení sady výsledků. Skutečné XML souboru schématu, zobrazíte klepnutím XML tlačítka v okně editoru.
  12. Schéma založené na objekt SQL serveru nyní existuje. Vytvoření a vyplnění zadaný Objekt DataSetTřída, která mapuje schématu nejprve musíte vygenerovat. Klepněte pravým tlačítkem myši v návrhovém zobrazení a ujistěte se, že Generování objektu DataSet je-li vybrána možnost. Pokud není vybrána, vyberte jej. Stisknutím kláves CTRL + S uložte schéma a generovat třídy.
  13. Zobrazit nové zadání Objekt DataSet třídy, klepněte na tlačítko Zobrazit všechny soubory v aplikaci Solution Explorer.
  14. Rozbalte strom vedle dsProducts.xsd. Zobrazí se do souboru dsProducts.vb, který obsahuje mapování nové třídy schématu. Zobrazí se také do souboru dsProducts.xsx, který se používá pro sledování změn v souborech.
  15. Psát kód pro zobrazení zadaný Objekt DataSet, poklepejte na ikonu přímo na webovém formuláři (nikoli na webový ovládací prvek). Objeví se webový formulář codebehind a je kurzor uvnitř Page_Load událost.
  16. Chcete-li zahrnout tříd, které jsou umístěny v oboru názvů System.Data.SqlClient, přidejte následující použití prohlášení v horní části codebehind:
    using System.Data.SqlClient;
    					
    POZNÁMKA:: V jiných oborech názvů, je nutné mít pro malé webové aplikace jsou automaticky odkazován v projektu při vytvoření webové aplikace v aplikaci Visual Studio.NET.

  17. V Page_Load procedura události předáním připojovacího řetězce konstruktoru výchozí vytvořit objekt připojení SqlConnection Třída:
    SqlConnection cn = new SqlConnection("server=myserver;uid=myuid;pwd=mypassword;database=northwind");
    					
  18. Vytvořte objekt SqlCommand je pak předána objektu SqlDataAdapter. Předejte konstruktoru SqlCommand amatérsky příkaz SQL a nový objekt připojení. Bývalý nastaví Vlastnosti CommandText Vlastnosti nového objektu SqlCommand. Můžete také předat název uložené procedury.
    SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);
    					
  19. Vytvoření instance objektu SqlDataAdapter nový objekt SqlCommand konstruktoru:
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    					
  20. Nyní můžete vytvářet objekty, které jsou požadovány pro připojení k databázi a vrátit data. Následuje zadaný kód Objekt DataSet. Všimněte si, že instance dsProducts Vytvoření třídy: třída, která mapuje na dsProducts schématu a dědí Objekt DataSet Třída není obecného Objekt DataSet samotné třídy.
    dsProducts tds = new dsProducts();
    					
  21. Volání Výplň Metoda SqlDataAdapter, prochází v zadaný Objekt DataSet objekt a Objekt DataSetjeho zadání. Objekt DataTable název_tabulky Vlastnost:
    da.Fill(tds, tds.Tables[0].TableName);
    					
  22. Nastavit Text Vlastnost ovládací prvky textové pole do silnými sloupců zadaný Objekt DataSetspolečnosti Objekt DataTable, použijte následující formát:
    dsProducts.DataTableName[RowIndex].ColumnName
    						
    Tato vzorová aplikace RowIndex je pevně 5:
    TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;
    TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName; 
    						
    Protože Řádky kolekce je z nuly, při načtení stránky, Všimněte si, že ovládací prvky textové pole zobrazit názvy produktů a kategorie zboží v šestém řádku Objekt DataGrid.
  23. Zobrazit všechny výsledky Objekt DataGrid, nastavte Zdroj dat zadané vlastnosti prvku DataGrid na nové Objekt DataSeta volání DataBind():
    DataGrid1.DataSource = tds;
    DataGrid1.DataBind();
    					

Dokončení kódu (WebForm1.aspx)

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="TDS.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
	<title>WebForm1</title>
	<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
	<meta name="CODE_LANGUAGE" Content="C#">
	<meta name="vs_defaultClientScript" content="JavaScript">
	<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
	<form id="Form1" method="post" runat="server">
		<asp:Label id="Label1"  runat="server" >Label</asp:Label>
		<asp:DataGrid id="DataGrid1"  runat="server" ></asp:DataGrid>
		<asp:TextBox id="TextBox2"  runat="server"></asp:TextBox>
		<asp:TextBox id="TextBox1"  runat="server"></asp:TextBox>
		<asp:Label id="Label2"  runat="server" >Label</asp:Label>
	</form>
</body>
</HTML>
				

Dokončení kódu (WebForm1.aspx.cs)

using System.Data.SqlClient;

namespace TDS
{
  /// <summary>
  /// Summary description for WebForm1.
  /// </summary>
  public class WebForm1 : System.Web.UI.Page
  {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Label Label2;
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.TextBox TextBox2;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
	
    private void Page_Load(object sender, System.EventArgs e) 
    {
	SqlConnection cn = new SqlConnection("server=localhost;uid=sa;pwd=abcd;database=northwind");
	SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);
	SqlDataAdapter da = new SqlDataAdapter(cmd);
	dsProducts tds = new dsProducts();

	da.Fill(tds, tds.Tables[0].TableName);
	TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;
	TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName; 

         DataGrid1.DataSource = tds;
	DataGrid1.DataBind();

    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
	// 
	// CODEGEN: This call is required by the ASP.NET Web Form Designer.
	// 
	InitializeComponent();
	base.OnInit(e);
    }
		
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {    
	this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
	this.Load += new System.EventHandler(this.Page_Load);

    }
    #endregion
  }
}

				

Ověření

Stisknutím klávesy F5 spustit webovou aplikaci. V prohlížeči zobrazí "Uncle Bob organické sušené Hrušky" Produkt textové pole a "Plodiny" v Kategorie textové pole. Komponenta DataGrid, který je vyplněn informace o produktu se zobrazí pod textová pole.

Poradce při potížích

  • Obecné Objektech DataSet nevyžadují, že předáte TableName Při volání Výplň Metoda. Zadaný Objektech DataSet, to však vyžadují i v případě, že přistupujete Objekt DataSetspolečnosti Tabulka Kolekce indexů místo TableName. Selhání předat zadaný Objekt DataSetspolečnosti TableName vyvolá chybu "Na pozici 0 neexistuje žádný řádek" za běhu. Tento požadavek na zadání Objektech DataSet také znamená, že není možné vytvořit vlastní TableName ale musí projít ten, který je odkazován v zadaný Objekt DataSet Třída, která je přístupná jako v předcházejícím kódu.
  • Všechny ručně provedené změny schématu, který je vygenerován pomocí sady Visual Studio.Změníte-li databázový objekt, který původně použitá ke generování schématu a zadali, budou přepsány NET Objekt DataSet třídy a přetáhněte jej znovu do schématu návrhového zobrazení. Je obvykle vhodnější provést změny, zadaných na úrovni Microsoft SQL Server a generovat nový Objekt DataSet než změnit výsledné schéma.

Odkazy

Další informace o práci s zadaný Objekt DataSet, naleznete následujícím webu společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/esbykkzb (vs.71) .aspx


Vlastnosti

ID článku: 320714 - Poslední aktualizace: 19. května 2011 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Klíčová slova: 
kbhowtomaster kbmt KB320714 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:320714

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com