Cómo recuperar y mostrar registros de una base de datos de Access mediante ASP.NET, ADO.NET y Visual C#.

Para una versión de Microsoft Visual Basic .NET de este artículo, consulte 308278 .


En este artículo se refiere a los siguientes espacios de nombres de biblioteca de clases de Microsoft.NET Framework:
  • System.Data
  • System.Data.OleDb

EN ESTA TAREA

Resumen

En este artículo paso a paso describe cómo recuperar datos de una base de datos de Microsoft Access mediante programación y, a continuación, se presentan los datos al usuario. El objetivo de este artículo no es proporcionar cada enfoque concebible para el problema. Se pretende ofrecer una solución simplificada que utiliza ASP.NET, ADO.NET y Visual C# .NET como una introducción a las tecnologías relacionadas.

El ejemplo de este artículo utiliza las clases OleDbConnection, OleDbCommandy OleDbDataReader . Estas clases son parte de ADO.NET y la de.NET Framework de Microsoft. Se presentan los datos mediante el control de servidor ASP.NET de la tabla.

Para obtener recursos adicionales acerca de métodos relacionados, consulte el
Sección de REFERENCIAS .

Volver al principio

Requisitos

  • Microsoft Windows 2000 Professional, Windows 2000 Server o Windows 2000 Advanced Server o Windows Server 2003
  • Microsoft Internet Information Services (IIS)
  • Microsoft.NET Framework 1.0 o Microsoft.NET Framework 1.1
  • Base de datos de Northwind de Microsoft Access
Volver al principio

Crear una aplicación Web de ASP.NET mediante Visual C#.

Volver al principio

Crear el formulario Web de ejemplo

El código de ejemplo en esta sección utiliza un control de servidor ASP.NET de tabla para crear dinámicamente una presentación simplificada de los datos recuperados. ASP.NET ofrece una variedad de controles flexibles que pueden utilizar para ofrecer enfoques alternativos para representar los datos. Para obtener información adicional acerca de los controles de ASP.NET admite, consulte la sección REFERENCIAS al final de este artículo.
  1. Agregue un nuevo Web Form llamado DataSample.aspx a la aplicación Web ASP.NET en Visual Studio .NET. Para ello, siga estos pasos:

    1. En el Explorador de soluciones, haga clic en el nodo del proyecto, haga clic en Agregary, a continuación, haga clic en Agregar formulario Web.
    2. En el cuadro de texto nombre , escriba DataSample.aspxy, a continuación, haga clic en Abrir.
  2. Desde el cuadro de herramientas de Formularios Web Forms , arrastre un control Table a la página .aspx en la vista Diseño.
  3. En Propiedades, cambie el ID de DisplayTable.
  4. En el Explorador de soluciones, haga clic en la página .aspx y, a continuación, haga clic en Ver código.
  5. Agregue la referencia de espacio de nombres siguiente al principio del archivo de clase de código subyacente:
    using System.Data.OleDb;
  6. Reemplace el controlador de eventos Page_Load con el código siguiente:
    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 la variable connectString al principio del código para que señale a la ubicación de la base de datos Northwind.
  8. En el menú archivo , haga clic en Guardar todo para guardar el Web Form y los archivos de otros proyectos asociados.
  9. En el menú Generar , haga clic en Generar solución para generar el proyecto.
  10. En el Explorador de soluciones, haga clic derecho en DataSample.aspxy, a continuación, haga clic en Ver en el explorador. La página aparece en el explorador y contiene los datos de la base de datos Northwind.
Volver al principio

Solucionar problemas

  • En tiempo de ejecución, puede recibir el mensaje de error siguiente (o similar):
    El motor de base de datos Microsoft Jet no puede abrir el archivo ' C:\File Databases\NWIND. MDB'. Ya está abierta de forma exclusiva por otro usuario o bien necesita permiso para ver sus datos.
    Con frecuencia, este error se produce porque no tiene los permisos correctos para obtener acceso al archivo de base de datos (.mdb). De forma predeterminada, ASP.NET se ejecuta bajo la cuenta ASPNET en la versión 1.0 de.NET Framework y en NetworkService en.NET Framework 1.1. Debe tener permisos Modificar en el archivo .mdb y la carpeta donde se encuentra el archivo. Para obtener más información, consulte la sección REFERENCIAS .
  • Asegúrese de que están instalados los componentes para el motor de base de datos Microsoft Jet. Comenzando con Microsoft Data Access Components 2.6 (MDAC), los componentes de Jet no se incluyen. Sin embargo, puede descargar una versión redistribuible del Service Pack más reciente de Jet 4.0.
Volver al principio

Referencias

Para obtener más información, vea los temas siguientes en la documentación del SDK de.NET Framework:Para obtener más información acerca de ASP.NET, visite el siguiente sitio Web de Microsoft:Volver al principio
Propiedades

Id. de artículo: 308100 - Última revisión: 9 ene. 2017 - Revisión: 1

Comentarios