lunes, 15 de junio de 2009

Operaciones Básicas sobre datos con ADO.NET 2.0 Parte II de III

En el post pasado, se definieron los conceptos para trabajar con datos en ADO.NET, ahora veremos los objetos y clases que se utilizan para la manipulación de los datos.

.NET ofrece un conjunto de clases que nos sirven para crear objetos que nos permitan llenar los datos provenientes de un origen de datos (un servidor de base de datos o un archivo de bd, como Access, SQL Server, Oracle, MySQL, etc.), leer estos datos (y poder presentárselos al usuario), actualizar estos datos (añadiendo nuevos registros, borrando y modificando algunos otros, y regresar los datos al origen para que se actualicen todos estos cambios. Las clases mas importantes y significativas pertenecen al espacio de nombres System.Data, y son las siguientes:

DataSet: Es la clase mas importante en el entorno de ADO.NET 2.0, contiene una representación de los datos en memoria, en él se almacenan tablas (y éstos a su vez registros) y las relaciones que hay entre ellas. Los objetos 'DataSet' son utilizados independientemente del manejador de base de datos, es decir NO son exclusivos de SQL Server, por ejemplo, ni de ningun otro manejador, así también lo podemos utilizar sin necesidad de un proveedor. Podríamos definir al DataSet, como una copia de los datos que han sido consultados en un proveedor de datos.

Esta clase DataSet, la podemos utilizar para crear conjuntos de datos con una estructura previamente definida, como si fuera una base de datos, con tipos de datos tipados, relaciones entre tablas, etc, mediante la herencia, a este tipo de clases se le conoce como DataSet tipados.

Ejemplo:
'objeto DataSet 'genérico'
Dim alumnosDS as DataSet = new DataSet()

'objeto DataSet 'tipado' (la clase AlumnoDS hereda de DataSet) con tipos predefinidos
Dim alumnosDS as AlumnoDS = new AlumnoDS()

DataTable: Esta clase representa a una Tabla en memoria, para que podamos hacer operaciones con ella y sus datos, y, siempre está contenida dentro de un DataSet, con ninguna o con otras tablas.

Ejemplo:
'En este caso, hemos declarado una tabla 'genérica', es decir, puede contener
'cualquier tipo de datos cuando se crea.
Dim tablaAlumnos as DataTable = new DataTable()
'Añadimos mediante código sus columnas...
tablaAlumnos.Columns.Add("nombre",GetType(String))
tablaAlumnos.Columns.Add("telefono",GetType(String))
tablaAlumnos.Columns.Add("fechaNac",GetType(DateTime))
'Nota: cuando se crea una tabla a partir de un dataset tipado, no es necesario (ni
'recomendable, a menos que sea muy necesario) agregar, eliminar y modificar sus columnas,
'ya que puede haber problemas si es que intentamos actualizar en un origen de datos.

DataRow: Representa un registro en memoria, y comúnmente la utilizamos cuando queremos obtener un registro de una tabla, o cuando ingresamos uno nuevo.

Ejemplo:
'Con esta instrucción, la tabla 'crea' un nuevo registro según su estructura
Dim nuevoReg as DataRow = tablaAlumnos.NewRow()
'una vez creado, podemos asignarle los valores que el usuario introdujo (por ejemplo)
nuevoReg("nombre") = "Su nombre"
nuevoReg("telefono") = "XXXX"
nuevoReg("fechaNac") = new DateTime(1990,1,1)
'y luego lo introducimos a su tabla que lo creo
tablaAlumnos.Rows.Add(nuevoReg)

Nota: ya que estamos tratando con el modelo 'desconectado', debemos tener en cuenta que los datos no están actualizados al 100% con el proveedor de datos, es decir no son persistentes.

No hay comentarios:

Publicar un comentario