COMO: Criar e usar um DataSet digitado usando o .NET translation from VPE for Csharp Visual

Traduções deste artigo Traduções deste artigo
ID do artigo: 320714 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo mostra como criar e usar um DataSet digitado em um pequeno aplicativo da Web. Digitado DataSets , que herda a classe DataSet , crie membros de primeira classe de um DataSet DataTables e DataColumns , produzindo os diversos benefícios que vêm com o uso de rigidez.

Requisitos

Os seguintes itens descrevem recomendado de hardware, software, infra-estrutura de rede, habilidades e conhecimento e service packs que você precisa ter que concluir estas etapas:
  • Microsoft SQL Server 6.5 (ou posterior) com o banco de dados Northwind
Antes de habilidades necessárias:
  • Geral familiaridade com o Microsoft SQL Server
  • Geral familiaridade com o Microsoft Visual Studio .NET
  • Geral familiaridade com o Microsoft ADO.NET
  • Familiaridade geral com controles de Web do Microsoft .NET

DataSets tipado

Siga estas etapas para criar um pequeno aplicativo da Web usando o Visual Studio. NET. O aplicativo da Web usa um DataSet digitado para exibir os resultados de uma consulta SQL improvised no banco de dados Northwind.
  1. Inicie o Visual Studio NET..
  2. Crie um novo projeto Web Application chamado TDS no Visual translation from VPE for Csharp. NET.
  3. Certifique-se que está sendo exibido no Solution Explorer. Se o Gerenciador de soluções não for exibido, pressione CTRL + ALT + L.
  4. Verifique se o arquivo WebForm1.aspx é aberto na janela do Editor. Se o arquivo não estiver aberto, clique duas vezes WebForm1.aspx no Solution Explorer para abrir o arquivo.
  5. Em janela de editor, clique em Design para alternar para o modo Design.
  6. Para abrir a caixa de ferramentas, pressione CTRL + ALT + X. Na caixa de ferramentas, clique em Web Forms . Selecione e arraste o seguinte para o canto superior esquerdo da página: duas linhas de cada um rótulo seguido de uma caixa de texto (posicionada à direita de cada etiqueta). Em, adicione um DataGrid da mesma maneira.
  7. Clique no rótulo superior. Pressione F4 para exibir a janela Propriedades. Altere a propriedade Text para o produto . Clique no rótulo outro e, em seguida, alterar sua propriedade Text à categoria .
  8. Para adicionar um novo DataSet para o projeto, pressione CTRL + SHIFT + A e, em seguida, clique em DataSet na lista de modelos. Nomeie o DataSet o seguinte: dsProducts.xsd . Observe que o arquivo é realmente um esquema XML. Clique em OK . Você verá uma página de amarela-pálida na janela do Editor.
  9. Para criar um DataSet digitado, pressione CTRL + ALT + S para abrir o Server Explorer.
  10. Clique em servidores , clique em computer name, clique em SQLServers , clique em server name, clique em Northwind e clique em modos de exibição .
  11. Selecione o modo de exibição Northwind SQL Server lista alfabética de produtos e, em seguida, arraste o modo de exibição para a página DataSet amarela-pálida. Uma representação visual do conjunto de resultados que é gerado pelo modo de exibição aparece na página. Para ver o XML real para o arquivo de esquema, clique no botão XML na janela do Editor.
  12. Existe um esquema com base em um objeto SQL Server agora. Para criar e preencher um DataSet digitado, primeiro você deve gerar a classe que mapeia para o esquema. Clique com o botão direito do mouse o modo de design e verifique se a opção Generate DataSet é selecionada. Se não estiver selecionada, selecione-o. Pressione CTRL+S para salvar o esquema e gerar a classe.
  13. Para exibir a nova classe DataSet digitada, clique em Show All Files no Solution Explorer.
  14. Expanda a árvore próxima ao dsProducts.xsd . Você verá um arquivo dsProducts.vb, que contém o novo mapeamento de classe para o esquema. Você também ver um arquivo dsProducts.xsx, que é usado para controlar alterações para os arquivos.
  15. Para escrever código para exibir o DataSet digitado, clique duas vezes diretamente no formulário da Web (não em um controle Web). Code-behind do formulário da Web aparece e o ponto de inserção estiver dentro do evento Page_Load .
  16. Para incluir as classes que residem no namespace System.Data.SqlClient, adicione a instrução a seguir usando o topo da code-behind:
    using System.Data.SqlClient;
    					
    Observação : as outros namespaces que você precisa ter para este aplicativo Web pequeno são referenciados automaticamente no projeto quando você cria um aplicativo da Web no Visual Studio. NET.

  17. No procedimento de evento Page_Load , criar um objeto conexão passando a seqüência de caracteres de conexão para o construtor padrão da classe SqlConnection :
    SqlConnection cn = new SqlConnection("server=myserver;uid=myuid;pwd=mypassword;database=northwind");
    					
  18. Crie um objeto SqlCommand que é então passado para o objeto SqlDataAdapter. Passe uma instrução SQL improvised e o novo objeto de conexão para o construtor SqlCommand. O primeiro define a propriedade CommandText do novo objeto SqlCommand. Você também pode passar o nome de um procedimento armazenado.
    SqlCommand cmd = new SqlCommand("select * from [Alphabetical list of products]", cn);
    					
  19. Criar uma instância do objeto SqlDataAdapter, passando o novo objeto SqlCommand para o construtor:
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    					
  20. Agora você criar os objetos que são necessárias para se conectar ao banco de dados e retornar dados. A seguir está o código para o DataSet digitado. Observe que é criada uma instância da classe dsProducts : a classe que mapeia para o esquema dsProducts e herda da classe DataSet , não a genérica classe DataSet próprio.
    dsProducts tds = new dsProducts();
    					
  21. Chame o método Fill de SqlDataAdapter, passando no objeto de DataSet digitado e o DataSet digitado propriedade TableName de DataTable :
    da.Fill(tds, tds.Tables[0].TableName);
    					
  22. Para definir a propriedade Text do texto controles de caixa para as colunas com rigidez de tipos em digitado DataSet do DataTable , use o seguinte formato:
    dsProducts.DataTableName[RowIndex].ColumnName
    						
    para este aplicativo de exemplo, o RowIndex é codificado para 5:
    TextBox1.Text = tds.Alphabetical_list_of_products[5].ProductName;
    TextBox2.Text = tds.Alphabetical_list_of_products[5].CategoryName; 
    						
    como a coleção de linhas está baseado em zero, quando a página for carregada, observe que os controles de caixa de texto exibir os nomes de produto e categoria do item na sexta linha de DataGrid .
  23. Para exibir todos os resultados no DataGrid , defina a propriedade DataSource do DataGrid para o novo digitado DataSet e chamar DataBind() :
    DataGrid1.DataSource = tds;
    DataGrid1.DataBind();
    					

Concluir código listagem (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>
				

Concluir código listagem (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
  }
}

				

Verificação

Pressione F5 para executar o aplicativo da Web. O navegador exibe "Uncle Bob Pêras secas Organic" na caixa de texto do produto e "Produção" na caixa de texto de categoria . Aparece um DataGrid é preenchido com informações sobre o produto em caixas de texto.

Solução de problemas

  • Genérico DataSets não requerem que você passe um nome de tabela quando você chama o método Fill . Digitado DataSets , entretanto, exigir isso, mesmo se você estiver acessando coleção de tabela do DataSet por índices em vez de TableName . Falha ao passar o digitado DataSet do TableName lança um erro "Não há nenhuma linha na posição 0" em tempo de execução. Esse requisito de digitado DataSets também significa que você não pode fazer suas próprias TableName mas você deve passar aquele que é referenciado na classe DataSet digitada, que é acessada como no código anterior.
  • As alterações manuais que você fizer o esquema é gerado pelo Visual Studio .NET são substituídas se você alterar o objeto de banco de dados que você usado inicialmente para gerar o esquema e classe DataSet digitado e arraste-o novamente para o modo de design do esquema. É geralmente preferível para fazer as alterações que você precisa no nível do Microsoft SQL Server e para gerar um DataSet digitado novo que para alterar o esquema resultante.

Referências

Para obter mais informações sobre como trabalhar com um DataSet digitado, consulte o seguinte site:
http://msdn2.microsoft.com/en-us/library/esbykkzb(vs.71).aspx


Propriedades

ID do artigo: 320714 - Última revisão: quinta-feira, 17 de maio de 2007 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Palavras-chave: 
kbmt kbhowtomaster KB320714 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 320714

Submeter comentários

 

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