Posiblemente muchos de los webmasters que llevan un par de años en la
creación de sitios web puedan sentirse algo desorientados al saber que
Microsoft ha creado una nueva tecnología para el acceso a bases de datos.
Al haberse familiarizado con la tecnología ActiveX Data Object (ADO), quizás
lo menos que se espera es tener que aprender una nueva tecnología, con sus
propiedades, métodos y características.
En el caso de la nueva versión de ADO, denominada ADO.NET, el desarrollador
no tiene de que preocuparse. ADO.NET es una tecnología mucho más sencilla
de utilizar, con un modelo de objetos basado en XML, lo que permite una
mejor interacción con la información desde y hacia las bases de datos.
Todos los objetos y tipos de datos para ADO.NET
<%@ Import Namespace="System.Data.ADO" %>
Objetos para las conexiones mediante OLE-DB
<%@ Import Namespace="System.Data.SQL" %>
Objetos para las conexiones mediante SQL Server
<%@ Import Namespace="System.Data.XML" %>
Objetos XML
<%@ Import Namespace="System.Data.SQLTypes" %>
Tipos de datos SQL
Manejo de datos con ADO.NET
Los datos y la información sobre la base de datos en ADO.NET está almacenados
en el Objeto DataSet, que pertenece al Namespace System.Data.
La estructura de este namespace es la siguiente:
DataSet: Es el objeto principal en ADO.NET y contiene toda la
información de la base de datos.
DataTable: Contiene la información de una tabla determinada
DataRow: Contiene la información de una fila, en una tabla determinada
DataColumn: Contiene la información de una columna, en una tabla
determinada
DataRelation: Contiene la información acerca de la relación entre
dos columnas
DataSetView: Contiene los detalles acerca de la vista de una tabla
Creando un DataSet
<%@ Import Namespace="System.Data"
%>
<%@ Import Namespace="System.Data.ADO" %>
<script language="vb"
runat="server">
Sub Page_Load(Source as Object, E as EventArgs)
Dim strConnString as String strConnString = "Provider=SQLOLEDB; Data
Source=(local); " & _ "Initial Catalog=pubs; User ID=sa">
Dim objConn as
ADOConnection
objConn = New ADOConnection(strConnString)
objConn.Open()
Dim strSQL as String
= "SELECT * FROM authors"
Dim objDSCommand as ADODatasetCommand
Dim objDataset as Dataset
objDSCommand =
New ADODatasetCommand(strSQL, objConn)
objConn.Close()
objConn = Nothing
objDataset = New Dataset
objDSCommand.FillDataSet(objDataset, "Author Information")
MyFirstDataGrid.DataSource = objDataset.Tables("Author Information").DefaultView
MyFirstDataGrid.DataBind()
End Sub
</script>
<asp:DataGrid id="MyFirstDataGrid" runat="server"
/> </html>
Este es el código necesario para importar los los objetos de los namespaces
necesarios para el manejo y la conexión a la base de datos.
<%@ Import Namespace="System.Data"
%>
<%@ Import Namespace="System.Data.ADO" %>
Este código ejecuta el código, con el evento Page_Load
<script language="vb"
runat="server">
Sub Page_Load(Source as Object, E as EventArgs)
Crea la variable que contendrá el String de la conexión y conecta la
base de datos por default del server SQL Dim strConnString as String strConnString
= "Provider=SQLOLEDB; Data Source=(local); " & _ "Initial
Catalog=pubs; User ID=sa"
Este código crea el objeto conexión y utiliza el string strConnString
para conectar con la base.
Dim objConn as ADOConnection
objConn = New ADOConnection(strConnString)
objConn.Open()
Se define el comando que se desea ejecutar
objDSCommand =
New ADODatasetCommand(strSQL, objConn)
Se define el objeto
Dataset y se ejecuta la intrucción SQL
Dim strSQL as String
= "SELECT * FROM authors"
Dim objDSCommand as ADODatasetCommand
Dim objDataset as Dataset Se cierra la conexión
objConn.Close()
objConn = Nothing
Finalmente
La llegada de ADO.NET es una gran noticia para los desarrolladores. Si
bien no es un reemplazo completo de ADO, esta nueva tecnología permite
crear servidores con acceso a grandes bases de datos mucho más escalables.
A diferencia de lo que ocurría con ADO y su integración con COM, en
ADO.NET es XML el lenguaje que maneja y mueve la información, por lo que
todo el rendimiento en el servidor será superior.
La independencia del Objeto DataSet hacia el tipo de conexión, también
contribuye a la facilidad para mantener el código. Ya no será necesario
modificar todo el String de conexión al cambiar la base de datos.