Artigo: 308100 - Última revisão: quinta-feira, 12 de Abril de 2012 - Revisão: 1.0

Como recuperar e exibir registros de um banco de dados do Access usando o ASP.NET, ADO.NET e Visual C#.NET

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve detalhadamente como recuperar por programação dados do Microsoft Access banco de dados e apresentar os dados para o usuário. O objetivo deste artigo é não fornecer cada abordagem concebível para o problema. Destina-se a oferecer uma solução simplificada que usa ASP.NET, ADO.NET, e C# Visual.NET como uma introdução para as tecnologias relacionadas.

O exemplo no Este artigo usa as classes OleDbConnection, OleDbCommande OleDbDataReader . Essas classes são parte do ADO.NET e o Microsoft.NET Estrutura. Os dados são apresentados utilizando ASP tabela.NET server control.

Para obter recursos adicionais sobre abordagens relacionadas, consulte o REFERÊNCIAS seção.

Requisitos

  • Microsoft Windows 2000 Professional, Windows 2000 Server ou Windows 2000 Advanced Server ou Windows Server 2003
  • Serviços de Informações da Internet da Microsoft (IIS)
  • Microsoft.NET Framework 1.0 ou o Microsoft.NET Framework 1.1
  • Banco de dados do Microsoft Access Northwind

Crie um aplicativo ASP.NET da Web aplicativo usando o Visual C#.NET

  1. Inicie o Microsoft Visual Studio.NET.
  2. Sobre o Arquivo aponte para Novoe clique em Projeto.
  3. No Novo projeto caixa de diálogo, clique em Projetos do Visual C# em Tipos de projetoe clique em ASP.NET Web Application em Modelos.
  4. No Localização caixa de texto, substituir o WebApplication # nome padrão com AccessDemo. Se você estiver usando o servidor local, você pode deixar o nome do servidor definido como http://localhost. O resultante Localização caixa de texto aparece da seguinte maneira: http://localhost/AccessDemo

Criar o exemplo de Web formulário

O código de exemplo nesta seção usa uma tabela de ASP.NET para criar dinamicamente uma apresentação simplificada dos dados recuperados. ASP.NET oferece uma variedade de controles flexíveis que você pode Use para fornecer métodos alternativos para processamento de dados. Para informações adicionais sobre os controles ASP.NET oferece suporte, consulte o REFERÊNCIAS seção final da Este artigo.
  1. Adicionar um novo formulário da Web denominado DataSample.aspx para o ASP.NET no Visual Studio.NET. Para fazer isso, siga estas etapas:
    1. No Solution Explorer, clique com o botão direito do nó do projeto Clique em Adicionare clique em Adicionar formulário da Web.
    2. No Nome caixa de texto, digite DataSample.aspxe depois Clique em Aberto.
  2. Do Formulários da Web caixa de ferramentas, arraste um Tabela controle a página. aspx no modo design.
  3. Em Propriedades, altere o IDENTIFICAÇÃO para DisplayTable.
  4. No Solution Explorer, clique com o botão direito na página. aspx, e Clique em Exibir código.
  5. Adicione a seguinte referência de namespace para o topo do arquivo de classe code-behind:
    using System.Data.OleDb;
  6. Substituir o Page_Load manipulador de eventos com o código a seguir:
    private void Page_Load(object sender, System.EventArgs e)
    {
    	//Use a string variable to hold the ConnectionString.
    	string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;"
    		+ "Data Source=C:\\File Databases\\NWIND.MDB";
    	
    	//Create an OleDbConnection object, 
    	//and then pass in the ConnectionString to the constructor.
    	OleDbConnection cn = new OleDbConnection(connectString);
    	
    	//Open the connection.
    	cn.Open();
    	
    	//Use a variable to hold the SQL statement.
    	string selectString = "SELECT CustomerID, ContactName, Phone FROM Customers";
    
    	//Create an OleDbCommand object.
    	//Notice that this line passes in the SQL statement and the OleDbConnection object
    	OleDbCommand cmd = new OleDbCommand(selectString,cn);
    
    	//Send the CommandText to the connection, and then build an OleDbDataReader.
    	//Note: The OleDbDataReader is forward-only.
    	OleDbDataReader reader = cmd.ExecuteReader();
    
    	//Set a table width.
    	DisplayTable.Width = Unit.Percentage(90.00);
    	//Create a new row for adding a table heading.
    	TableRow tableHeading = new TableRow();
    
    	//Create and add the cells that contain the Customer ID column heading text.
    	TableHeaderCell customerIDHeading = new TableHeaderCell();
    	customerIDHeading.Text = "Customer ID";
    	customerIDHeading.HorizontalAlign = HorizontalAlign.Left;
    	tableHeading.Cells.Add(customerIDHeading);
    			
    	//Create and add the cells that contain the Contact Name column heading text.
    	TableHeaderCell contactNameHeading = new TableHeaderCell();
    	contactNameHeading.Text = "Contact Name";
    	contactNameHeading.HorizontalAlign = HorizontalAlign.Left;
    	tableHeading.Cells.Add(contactNameHeading);
    			
    	//Create and add the cells that contain the Phone column heading text.
    	TableHeaderCell phoneHeading = new TableHeaderCell();
    	phoneHeading.Text = "Phone";
    	phoneHeading.HorizontalAlign = HorizontalAlign.Left;
    	tableHeading.Cells.Add(phoneHeading);
    
    	DisplayTable.Rows.Add(tableHeading);
    
    	//Loop through the resultant data selection and add the data value
    	//for each respective column in the table.
    	while(reader.Read())
    	{	
    		TableRow detailsRow = new TableRow();
    		TableCell customerIDCell = new TableCell();
    		customerIDCell.Text = reader["CustomerID"].ToString();
    		detailsRow.Cells.Add(customerIDCell);
    
    		TableCell contactNameCell = new TableCell();
    		contactNameCell.Text = reader["ContactName"].ToString();
    		detailsRow.Cells.Add(contactNameCell);
    
    		TableCell phoneCell = new TableCell();
    		phoneCell.Text = reader["Phone"].ToString();
    		detailsRow.Cells.Add(phoneCell);
    
    		DisplayTable.Rows.Add(detailsRow);
    
    	}
    
             //Close the reader and the related connection.
    	reader.Close();
    	cn.Close();
    }
    
  7. Modificar o connectString variável no início do código para apontar para o local do banco de dados Northwind.
  8. Sobre o Arquivo menu, clique em Salvar tudo Para salvar o formulário da Web e outros arquivos de projeto associados.
  9. Sobre o Compilação menu, clique em Criar solução para construir o projeto.
  10. No Solution Explorer, clique com o botão direito DataSample.aspxe clique em Exibir no navegador. A página aparece no navegador e contém os dados a partir de Banco de dados Northwind.

Solucionar problemas

  • Em tempo de execução, você pode receber a seguinte mensagem de erro (ou semelhante):
    O mecanismo de banco de dados Microsoft Jet não pode abrir o arquivo ' C:\File Databases\NWIND.MDB'. Já está aberto exclusivamente por outro usuário ou você precisa de permissão para exibir seus dados.
    Freqüentemente, isso erro ocorre porque você não tem permissões corretas para acessar o arquivo de banco de dados (. mdb). Por padrão, o ASP.NET executa sob a conta ASPNET no .NET Framework 1.0 e em NetworkService na.NET Framework 1.1. Você deve ter modificar as permissões de arquivo. mdb e a pasta onde o arquivo está localizado. Para obter mais informações, consulte o REFERÊNCIAS seção.
  • Certifique-se de que os componentes do Microsoft Jet mecanismo de banco de dados são instalados. Começando com o Microsoft Data Access Components 2.6 (MDAC), são os componentes do Jet não incluído. No entanto, você pode baixar uma versão redistribuível do mais recente Jet 4.0 Service Pack.

Referências

Para obter mais informações, consulte os seguintes tópicos na.NET Documentação do SDK Framework:
Classe OleDbConnection
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbConnectionClassTopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbConnectionClassTopic.asp)

Classe OleDbCommand
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbCommandClassTopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbCommandClassTopic.asp)

Classe OleDbDataReader
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbDataReaderClassTopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbDataReaderClassTopic.asp)
Para obter mais informações sobre o ASP.NET, visite o seguinte site da Microsoft:
http://www.ASP.NET/ (http://www.asp.net/)

A informação contida neste artigo aplica-se a:
  • Microsoft ADO.NET 1.1
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbhowtomaster kbsystemdata kbmt KB308100 KbMtpt
Tradução automáticaTraduçã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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 308100  (http://support.microsoft.com/kb/308100/en-us/ )