lenguaje SQL, Bases de datos, Procedimientos Almacenados y SQL server

Lenguaje SQL - Bases de datos - SQL Server

    
  Buscar   

Inicio

Help Desk

Foros SQL

Tutoriales SQL
 General
 Lenguaje SQL
 SQL Server
 MySQL
 Proc. Almacenados
 Programación .NET

Manuales SQL

Libros SQL

Enlaces

Programacion

Acerca de...

Entrar
Registro

Lenguaje SQL, bases de datos y SQL Server



Last Refreshed 8/28/2008 9:20:59 AM

 


Inicio > Tutoriales SQL > Programacion .NET    
FAQ: Conexión con base de datos en ASP.NET con C#

Enviado por   el Thursday, November 18, 2004 (Her)

Vamos a ver de manera sencilla como mostrar el contenido de una tabla de Access en una página Web.

FAQ: Conexión con base de datos en ASP.NET con C#
Vamos a ver de manera sencilla como mostrar el contenido de una tabla de Access en una página Web.
Para simplificarlo utilizaremos como entorno de desarrollo el Web Matrix de Microsoft, un entorno de programación sencillo y gratuito que facilita el aprendizaje de ASP.NET.


En este ejemplo mostramos de manera simplificada como utilizar los 3 objetos que componen la jerarquía de ADO.NET para acceder a los datos de una base de datos, de manera similar a como se accedía a los datos en el “viejo” ADO.
Estos tres objetos son OleDbConnection, OleDbCommand y OleDbDataReader.

Para ver como funciona lo mejor es ver el código, que tiene suficientes comentarios como para que sea de fácil compresión.

El código tal y como está se puede pegar dentro de la ventana “All” del Web Matrix, colocar la base de datos datos.mdb en la misma carpeta en la que guardamos el archivo, y para finalizar ejecutar la página.

<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
    void Page_Load(object sender, System.EventArgs e)
    {
            // Empezamos declarando una variable de tipo OleDbConnection, que nos servirá
            // para crear la conexión con la base de datos.
            // Podemos acceder a esta clase porque hemos importado el espacio de nombres
            // System.Data.OleDb
            OleDbConnection conn;
            // Una vez declarada podemos instanciarla y para ello utilizamos el contructor
            // de la clase. Como argumento le pasamos al constructor un string
            // que es la cadena de conexión para acceder a una base de datos de access
            // de nombre datos.mdb y que se encuentra en la misma carpeta que
            // el archivo en el que estamos trabajando
            conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=datos.mdb");
            // Esta no es una forma muy habitual de declarar e instanciar. Lo habitaul son
            // expresiones del tipo
            // OleDbConnection connconn = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=datos.mdb");
            // pero en este fichero vamos detallar todos los pasos lo más posible
            // El siguiente paso es tener una sentencia SQL que ejecutar
            // Para ello declarams una variable de tipo string y le damos un valor
            string sSQL;
            sSQL = "SELECT Nombre, Edad, Email FROM Agenda";
            // El siguiente paso será crear un objeto de tipo OleDbCommand que servirá
            // para enviar una sentencia SQL a la base de datos a través de la conexión
            // previamente creada
            // declaramos la variable
            OleDbCommand cmd;
            // la instanciamos, y en el contructor le indicamos la sentencia SQL
            // que queremos ejecutar. Asimismo le decimos la conexión a través de la cual
            // vamos a trabajar.
            cmd = new OleDbCommand(sSQL,conn);
            // Cuando ejecutamos la sentencia SQL a través del objeto command, la base
            // de datos nos devuelve el conjunto de filas que son el resultado
            // de esa ejecución. Para recoger este resultado vamos a utilizar un objeto
            // OleDbDataReader que nos permite recorrer, solo hacia delante, las filas
            // devueltas por la base de datos
            OleDbDataReader miDataReader;
            // Ahora abrimos la conexión con la base de datos para poder ejectuar el command
            conn.Open();
            // y ejecutamos el OleDbCommand recogiendo los resultados en nuestro DataReader
            miDataReader = cmd.ExecuteReader();
            // Ahora vamos a recorrer el DataReader. Para ello utilizamos un bucle do while
            // que tiene como condición el resultado de llamar al método Read del
            // DataReader. Este método devolverá true si hay una siguiente fila que leer
            // y además la leerá para que poder leer el contenido de esa fila
            while(miDataReader.Read())
            {
                // mientras recorremos el data reader vamos a rellenar la tabla que hemos
                // creado en diseño, nuestra "laTabla"
                // Crearemos una fila, las columnas de esa fila y añadiremos la fila a la tabla
                TableRow fila;
                fila=new TableRow();
                // Declaramos la celda
                TableCell celda;
                // Creamos una celda
                celda=new TableCell();
                // Usamos un control literal, que básicamente sirve para almacenar
                // texto. Este control lo añadiremos a la colección de controles
                // de la celda en cuestión
                LiteralControl textoCelda;
                textoCelda= new LiteralControl();
                // Le damos valor al LiteralControl leyendo del DataReader
                textoCelda.Text=miDataReader["Nombre"].ToString();
                celda.Controls.Add(textoCelda);
                // y añadimos la celda recien creada a la fila
                fila.Cells.Add(celda);
                // Hacemos lo mismo para el segundo campo de esta fila
                celda=new TableCell();
                textoCelda= new LiteralControl();
                textoCelda.Text=miDataReader["Edad"].ToString();
                celda.Controls.Add(textoCelda);
                fila.Cells.Add(celda);
                // y para el tercer campo
                celda=new TableCell();
                textoCelda= new LiteralControl();
                textoCelda.Text=miDataReader["Email"].ToString();
                celda.Controls.Add(textoCelda);
                fila.Cells.Add(celda);
                // Para finalizar añadimos la fila a la tabla
                laTabla.Rows.Add(fila);
            }

            // Para acabar cerramos la conexión, y por supuesto el DataReader
            conn.Close();
            miDataReader.Close();
    }
</script>
<html>
<head>
</head>
<body>
    <form runat="server">
<!-- Esta es la tabla que se ejecuta en el servidor y que programaremos desde el código -->
        <asp:Table id="laTabla" runat="server" BorderWidth ="1" 
GridLines="Both"  CellPadding="5"></asp:Table>
    </form>
</body>
</html>

 

Por supuesto esto sólo es un principio, pero espero que os sirva.


Valoración Media:
 



WEBS RECOMENDADAS
Programacion.com
La Web del Programador
Talleres del Web

Artículos más Vistos
  • ¿Como manejar las fechas en Sql Server?
    Manejar las fechas en SQL Server es una de las preguntas más recurrentes en los foros. Maximiliano Damian nos explica como tratarlas

  • INSTALACION DE MYSQL 5 EN WINDOWS (I)
    MySQL es un servidor de bases de datos que cada vez tiene más adeptos. No nos da tantas facilidades ni funcionalidades como el SQL Server, pero es una optión a tener en cuenta...

  • SQL Dinámico: Exec y sp_executeSql
    La ejecución dinámica de instrucciones SQL es una potente herramienta a la que tarde o temprano tenemos que enfrentarnos.

  • Tablas temporales en el SQL Server
    En el mundo de las bases de datos es muy común la utilización de tablas temporales. Vamos a ver com hacer buen uso de ellas...

  • FAQ: Conexión con base de datos en ASP.NET con C#
    Vamos a ver de manera sencilla como mostrar el contenido de una tabla de Access en una página Web.

  •  

    Mensajes Nuevos

  • i am new user, just testing;)
    Enviado por ? el Sunday, August 17, 2008 (Her)

  • Yu-tube-sexs
    Enviado por ? el Sunday, August 17, 2008 (Her)

  • Adult personals movies | Free adult movies DVD
    Enviado por ? el Saturday, August 09, 2008 (Her)

  • Que tecnica uso?
    Enviado por ? el Friday, August 08, 2008 (Her)

  • reglas de transformación de un MER a un modelo jerarquico y modelo de red
    Enviado por ? el Wednesday, August 06, 2008 (Her)



  •  

    Inicio   |   Help Desk   |   Foros SQL   |   Tutoriales SQL   |   Manuales SQL   |   Libros SQL   |   Enlaces   |   Programacion   |   Acerca de...

    Lenguaje SQL - Bases de Datos - SQL Server

    Diseño Paginas Web Codice DT

    Tarot por Telefono