Download - Introducción a ADO.NET con ASP.NET
INTRODUCCIÓN A ADO.NET CON
ASP.NET
Capitulo 4
ADO.Net
Es la tecnología de .Net que utiliza las aplicaciones para interactuar con una Base de Datos.
ADO.Net usa, con la ayuda de ASP.Net, un enlace de datos .
Arquitectura
ADO.Net consiste en dos partes primariasData provider Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server Y Oracle. Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada uno tiene un conjunto común de clases de utilidad.
Connection: proporciona una conexión usada para comunicarse con la fuente de datos.
Command: Usado para realizar alguna acción en la fuente de datos.
DataAdpater Un puente usado para transferir datos entre una fuente de datos y un objeto DataSet
Arquitectura
DataReader
Una Clase usada para procesar eficientemente una lista grande de resultados, un registro ala vez.
Espacio de nombres
Se encarga de las principales representaciones de datos como
tablas, columnas y filas.
System.Data
System.Data.Common
Define las clases comunes utilizadas como base por las clases de los proveedores de
datos.
Espacio de nombres
Define las clases para trabajar con fuentes de datos OleDb.
System.Data.OleDb
Contiene las clases para trabaja con fuentes de datos ODBC que
utilizan .NET OCBC como proveedores de datos.
System.Data.Odbc
Espacio de nombres
Define las clases de datos para trabajar con SQL Server.
System.Data.SqlClient
Encontramos las clases necesarias para gestionar los tipos de datos
específicos de SQL Server.
System.Data.SqlTypes
Métodos de acceso DataSet vs DataReader
Con ADO.Net tenemos dos posibilidades de trabajo:Objetos DataSet (clases desconectadas)Objetos DataReader (clases conectadas)
DataSet
Un objeto DataSet nos permite trabajar con
fuentes de datos y almacenar múltiples
tablas
DataReader
Su única función es el acceso a una base de datos para realizar consultas de solo
lectura.
Esquema de objetos utilizado en ADO.NET
Aplicación ASP.NET
DataSer DataReader
Objeto command
Objeto connection
Proveedor de Datos
BD
Alejandrito, tiene la transicion : Galeria
Objetos DataAdapter y Command
DataAdapter es un objeto “puente” encargado de enlazar un Data Set con una fuente de datos.
Tenemos un objeto DataAdapter para cada uno de los proveedores:Proveedor Objeto DataAdapter
OLE DB OleDbDataAdapter
SQL Server SqlDataAdapter
ODBC OdbcDataAdapter
Funciones de un objeto DataAdapter
Recuperar datos de una base de datos y poblar un objeto DataSet.
Recuperar datos y cambios realizados con ellos en un DataSet para devolverlos o actualizarlos en la base de datos.
Conjunto de objetos que forman DataAdapter
Connection• Para conectar con la
fuente de datos
Command• Instrucciones
necesarias para la recuperación de datos de la base de datos y la actualización de información en las mismas.
Proveedores
En función del proveedor de datos con el que vayamos a trabajar, tenemos un determinado objeto command.
Proveedor Objeto Command
OLE DB OleDbCommand
SQL Server SqlCommand
ODBC OdbcCommand
Oracle OracleCommand
Principales propiedades del objeto Command
Proveedor Objeto Command
Connection Necesario para conectar con la fuente de datos.
CommandType Indica de que tipo es el comando que va a ejecutar.• Text: se ejecutará en modo texto• StoredProcedure: se ejecutará mediante un
procedimiento almacenado en una base de datos
• Table: recibe el nombre de tabla
CommandText Recibe la sentencia SQL a ejecutar.
CommandTimeOut Tiempo de espera para ejecutar un comando.
Parameters Valores que se sustituirán en las instrucciones.
Tareas del objeto Command
Ejecutar consultas (SELECT) para poder leer resultados directamente.
Ejecución de instrucciones SQL de diseño (DDL) de bases de datos.
Ejecución de comandos de actualización o mantenimientos de bases de datos: insertar, eliminar y actualizar registros.
Obtener información del catálogo de las bases de datos.
Ejecutar comandos que devuelven un único valor.
Recoger datos de un servidor SQL Server en formato XML.
Objeto Command con DataAdapter
En función de la tarea o del tipo de función que vayamos a realizar, el objeto Command consta de 4 propiedades cuando trabajamos con DataAdapter.
Propiedad Descripción
SelectCommand Recoger la información requerida de una base de datos para poblar o llenar un DataSet.
UpdateCommand, DeleteCommand, InsertCommand
Funciones de mantenimiento de la base de datos, en función de que tipo de mantenimientos estemos realizando.
Llenar un DataSet
FillCrea las tablas y
darle los nombres de
columnas y los tipos de dato
que se almacenarán en esas columnas.
Llena las filas con los datos en
función del resultado
obtenido con la consulta SQL creada para la
propiedad SelectComman
d
Los tipos de datos que otorga a cada columna siguen reglas de concordancia.
Tipo SQL Server
Tipo .NET Framework
Método de Acceso al tipo .NET Framework
Método de Acceso al tipo SQL Server
bigint Int64 GetInt64() GetSqlInt64()
binary Byte[] GetBytes() GetSqlBinary ()
bit Boolean GetBoolean() GetSqlBit()
char String, Char[] GetString, GetChars()
GetSqlString()
datetime Datetime GetDatetime() GeSqltDatetime()
decimal Decimal GetDecimal() GetSqlDecimal()
float Double GetDouble() GetSqlDouble()
image Byte[] GetBytes[] () GetSqlBinary()
int Int32 GetInt32() GetSqlInt32()
money Decimal GetDecimal() GetSqlMoney()
nchar String, Char[] GetString, GetChars()
GetSqlString()
ntext String, Char[] GetString, GetChars()
GetSqlString()
numeric Decimal GetDecimal() GetSqlDecimal()
Tipo SQL Server
Tipo .NET Framework
Método de Acceso al tipo .NET Framework
Método de Acceso al tipo SQL Server
nvarchar String, Char[]
GetString, GetChars()
GetSqlString()
real Single GetFloat() GetSqlSingle ()
smalldatetime Datetime GetDatetime() GeSqltDatetime()
smallint Int16 GetInt16() GetSqlInt16()
smallmoney Decimal GetDecimal() GetSqlDecimal()
sql_variant Object GetValue() GetSqlVaulue()
text String, Char[]
GetString, GetChars()
GetSqlString()
timestamp Byte[] GetBytes () GetSqlBinary()
tinyint Byte GetByte() GetSqlByte()
uniqueidentifier
Guid GetGuid() GetSqlGuid()
varbinary Byte[] GetBytes () GetSqlBinary()
varchar String, Char[]
GetString, GetChars()
GetSqlString()
El método Fill no genera una clave primaria por si mismo, para ello debemos indicárselo por nosotros mismos para asegurarnos que no tenemos registros duplicados.
En el siguiente código veremos cómo rellenar un DateTable con un DataSet usando una conexión a SQLServer y la base de datos Northwind:
Default.aspxDefault.aspx.vb