Partilhar via


Passo-a-passo: recuperação, atualização, inserção e exclusão de dados com o LinqDataSource e controles DetailsView

Neste exame Através, você criará um tabela de banco de dados simples e um página da Web que usa o LinqDataSource o controle.A página da Web permite que os usuários recuperem, atualizem, insiram e excluam dados a partir de tabela do banco de dados.Você usará um DetailsView Controle para exibir os dados.O LinqDataSource Controle permite que você executar todas essas operações sem gravar Selecionar, atualizar, inserir, ou excluir as instruções.

Você usará o Para criar uma classe que representa o Banco de Dados tabela que contém os valores.O LinqDataSource Controle irá interagir com essa classe gerada para recuperar, atualizar, inserir e excluir os dados.

Pré-requisitos

Para implementar os procedimentos no seu próprio ambiente de desenvolvimento você precisa:

  • ou O Visual Web Developer Express Edition

  • SQL Server Express Edition instalado em seu computador.Se você possui o SQL Server instalado, você pode usá-lo, mas deve fazer pequenos ajustes em alguns procedimentos.

  • Uma página Web ASP.NET.

Criando uma tabela de banco de dados

Para executar as etapas nessa explicação passo a passo, você deve ter uma tabela de banco de dados.Se você ainda não tem uma tabela, você pode criar uma usando o procedimento a seguir.Se você usar uma tabela que já existe, os passos em alguns dos procedimentos não vão coincidir exatamente ao seu banco de dados.No entanto, os conceitos ilustrados nesse passo-a-passo serão os mesmos.

Para criar uma tabela no banco de dados

  1. Se o site não AL Pronto ter uma pasta App_Data, em Explorer soluçãoClique com o botão direito do mouse no projeto, clique em Adicionar pasta ASP.NETe em seguida, clique em App_Data.

  2. Com o botão direito do mouse clique na pasta App_Data e em seguida, clique em Adicionar novo item.

  3. Em Modelos InstaladosSelecione SQL DatabaseAlterar o nome de arquivo para Reviews.mdf e em seguida, clique em Adicionar.

  4. Em Gerenciador de Servidores, abra o nó Reviews.mdf e clique com o botão direito do mouse o Tabelas a pasta.

  5. Clique em Adicionar nova tabela.

  6. Crie as seguintes colunas na tabela:

    Nome da coluna

    Tipo de dados

    Propriedades

    FilmeID

    int

    IsIdentity = Sim

    Não nulo

    Chave primária

    Title

    nvarchar(50)

    Produtor

    nvarchar(50)

    Revisão

    nvarchar(1000)

    Nota

    int

    Não nulo

  7. Salve a tabela e a nomeie RevisãoFilmes.

  8. Adicione vários registros à tabela RevisãoFilmes com massa de dados.

    Em Server ExplorerClique com o botão direito do mouse na tabela MovieReviews e clique em Mostrar tabela de dados.Não é obrigatório especificar um valor para FilmeID porque esse valor é gerado automaticamente pelo banco de dados.

Criando classes para representar entidades do banco de dados

Para trabalhar com o LinqDataSource o controle, você trabalhar com classes que representam entidades de banco de dados.Você pode usar uma ferramenta na ou O Visual Web Developer Express Edition Para criar essas classes.

Criando uma classe para a tabela RevisãoFilmes

  1. Se o site ainda não tiver uma pasta App_Code, no. Explorer soluçãoClique com o botão direito do mouse no projeto, clique em Adicionar pasta ASP.NETe em seguida, clique em App_Code.

  2. Clique com o botão direito do mouse na pasta App_Code e em seguida, clique em Adicionar novo item.

  3. Em Modelos instaladosSelecione Linq para SQL classes modelo, Renomear arquivo Reviews.dbml e em seguida, clique em Adicionar.

    O Object Relational Designer é exibida.

  4. Em Gerenciador de Servidores, arraste a tabela MovieReviews para a Object Relational Designer a janela.

    A tabela RevisãoFilmes e as suas colunas são representadas como uma entidade chamada RevisãoFilme na janela do designer.

  5. Salve o arquivo Reviews.dbml.

  6. No Gerenciador de Soluções, abra o arquivo Reviews.designer.cs ou Reviews.designer.vb.

    Observe que agora ele possui classes para RevisãoDataContext e RevisãoFilme.A classe RevisãoDataContext representa o banco de dados e a classe RevisãoFilme representa a tabela do banco de dados.O construtor sem parâmetro para a classe RevisãoDataContext lê a seqüência de caracteres da conexão a partir do arquivo Web.config.

  7. Abra o arquivo Web.config.

    Observe que a Cadeia de Caracteres da Conexão foi adicionado na connectionStrings Elemento.

  8. Feche o arquivo da classe e o arquivo Web.config.

Criando e configurando um Controle LinqDataSource

Agora que você tenha um tabela de banco de dados e as classes que representam entidades de banco de dados, você pode usar um LinqDataSource Controle em um página da Web o ASP.NET para gerenciar os dados.

Criando e configurando um Controle LinqDataSource

  1. Em Criar um novo página da Web do ASP.NET e alternar para design Exibir.

  2. A partir de Dados Guia das ToolboxArraste um LinqDataSource Controle e Soltar-la dentro de Formulário Elemento sobre o página da Web.

    Você pode deixar a propriedade ID como LinqDataSource1.

  3. Definir o ContextTypeName() Propriedade para ReviewsDataContext.

  4. Definir o TableName Propriedade para MovieReviews.

  5. Set AutoPage para verdadeiro e alternar para Modo de exibição Source.

    O exemplo a seguir mostra o marcação declarativa para a LinqDataSource o controle.

    < ASP:LinqDataSource ContextoTypeName = "ReviewsDataContexto" TableName = "MovieReviews" A AutoPágina = "true" ID = "LinqDataSource1" runat = "Servidor" > < / ASP:LinqDataSource >
    

    Note que você não precisa especificar qualquer comando de banco de dados para selecionar os dados.

Adicionando um Controle para Exibir Dados

Agora você pode adicionar um DetailsView Controle e Ligar-la para o LinqDataSource o controle.O DetailsView Controle permite que os usuários exibir dados que são gerenciados pelo LinqDataSource o controle.

Para conectar os dados do LinqDataSource a um DetailsView

  1. Na Dados Guia das ToolboxDuplo - Clique na DetailsView controle para adicioná-lo para a página.

    Você pode deixar a propriedade ID como DetailsView1.

  2. Definir o DataSourceID Propriedade para LinqDataSource1.

  3. Definir o DataKeyNames Propriedade para FilmeID.

  4. Set AllowPaging para verdadeiro.

    O exemplo a seguir mostra o marcação declarativa para a DetailsView o controle.

    < ASP:DetailsView DataSourceID = "LinqDataSource1" DataKeyNomes = "MovieID" AllowPaginação = "true" ID = "DetailsView1" runat = "server" > < / ASP:DetailsView >
    
  5. Salve suas alterações e, em seguida, pressione CTRL + F5 para exibir a página em um navegador.

    O DetailsView o controle exibe os valores para o registro atual da tabela MovieReviews.O DetailsView Controle cria automaticamente os controles da Web para exibir cada coluna a partir de tabela de banco de dados.

Habilitando usuários para atualizar, inserir e excluir dados

O LinqDataSource o controle pode criar os comandos para atualizar, inserir e excluir dados.

Habilitando as operações de atualização, inserção e exclusão.

  1. Na LinqDataSource Controlar, defina o EnableUpdate, EnableInserte EnableDelete Propriedades para verdadeiro.

    O exemplo a seguir mostra o marcação declarativa para a LinqDataSource o controle.

    < ASP:LinqDataSource ContextTypeName = "ReviewsDataContext" TableName = "MovieReviews" A AutoPágina = "true" EnableAtualizar = "true" EnableInserir = "true" EnableExcluir = "true" ID = "LinqDataSource1" runat = "server" > < / ASP:LinqDataSource >
    
  2. Na DetailsView Controlar, defina o AutoGenerateEditButton, AutoGenerateInsertButtone AutoGenerateDeleteButton Propriedades para verdadeiro.

  3. Para limitar quais campos são exibidos na DetailsView Controlar e para definir a ordem dos campos, defina o AutoGenerateRows Propriedade para false.

  4. Adicione campos para as colunas de Nome, Produtor, Nota e Revisão e associe-os aos campos de dados correspondentes.

    O exemplo a seguir mostra o marcação declarativa para a DetailsView o controle.

    < ASP:DetailsView DataSourceID = "LinqDataSource1" DataKeyNames = "MovieID" AutoGenerateRows = "false" AutoGenerateEditBotão = "true" AutoGenerateInsertButton = "true" AutoGenerateDeleteButton = "true" AllowPaging = "true" ID = "DetailsView1" runat = "server" > < campos > < ASP:Boundcampo HeaderText = "título" DataField = "título" / &Gt; < ASP:BoundField HeaderText = "Theater" DataField = "Theater" / &Gt; < ASP:Boundcampo HeaderTexto = " número de estrelas " DataField = "SNúcleo" / &Gt; < ASP:BoundField HeaderText = " Re Exibir " DataField = "Revisão" / &Gt; < / campos > < / ASP:DetailsView >
    

    O FilmeID coluna estiver selecionada a partir de fonte de dados com o Outro colunas.No entanto, não é exibida na DetailsView Controlarar e o usuário não poderá ser modificar seu valor.O FilmeID Propriedade deve ser selecionada para ativar o LinqDataSource controle para criar automaticamente os comandos para atualizar, inserir e excluir dados.

    Observe que você não tem que especificar comandos para essas operações com dados.

  5. Save the changes and press CTRL+F5 to view the page in a browser.

    O DetailsView o controle exibe os campos para o registro atual de MovieReExibições tabela.Você pode Atualizar, inserir e excluir registros clicando nos botões correspondentes na DetailsView o controle.

Próximas etapas

Este exame Através mostrou a funcionalidade básica de atualizar, inserir e excluir registros usando o LinqDataSource o controle.Para aprender sobre recursos adicionais das LinqDataSource o controle, você pode fazer o seguinte:

Consulte também

Conceitos

Visão geral sobre o controle de servidor Web LinqDataSource