ADO.NET proporciona un puente entre los controles de front-end y las bases de datos de back-end. Los objetos ADO.NET encapsulan todas las operaciones y controles de acceso a datos que interactúan con los objetos de visualización de datos. De este modo, los detalles del movimiento de datos quedan ocultos.
El siguiente diagrama muestra el objeto ADO.NET como un todo:
Un conjunto de datos representa un subconjunto de una base de datos. No tiene una conexión persistente con la base de datos. Se requiere una reconexión para actualizar la base de datos. DataSet incluye objetos DataTable y DataRelation. Los objetos DataRelation representan la relación entre dos tablas.
La siguiente tabla muestra algunas propiedades importantes de la clase DataSet:
propiedad | describir |
---|---|
Distingue mayúsculas y minúsculas | Indica si la cadena que se va a comparar con la tabla de datos distingue entre mayúsculas y minúsculas. |
Recipiente | Obtenga espacio para el componente. |
Nombre del conjunto de datos | Obtiene o establece el nombre de una colección de datos existente. |
Administrador de vistas predeterminadas | Devuelve una vista de los datos de la recopilación de datos. |
Modo Diseño | Indica si el componente está en modo de diseño. |
Aplicar restricciones | Indica si se respetan las restricciones al intentar cargar un archivo. |
Eventos | Obtenga la lista de controladores de eventos relacionados con este componente. |
Propiedades extendidas | Obtiene una colección de información de usuario personalizada relacionada con el DataSet. |
Tiene errores | Indique si hay algún error. |
Está inicializado | Indica si el DataSet está inicializado. |
Lugar | Obtiene o establece información utilizada para comparar cadenas con la tabla. |
Espacio de nombres | Obtiene o establece el espacio de nombres del DataSet. |
Prefijo | Obtiene o establece un prefijo XML que es un alias para un espacio de nombres. |
Relaciones | Devuelve una colección de objetos DataRelation. |
Mesas | Devuelve una colección de objetos DataTable. |
La siguiente tabla enumera algunos métodos importantes de la clase DataSet:
método | describir |
---|---|
Aceptar cambios | Acepta todos los cambios debido a la carga del DataSet o este método. |
ComenzarInicio | Inicie la inicialización del DataSet. Esta inicialización ocurre en tiempo de ejecución. |
Claro | Borrar datos. |
Clon | Clonar la estructura del DataSet, incluidas todas las estructuras, relaciones y restricciones de DataTable. Pero los datos no se clonan. |
Copiar | Copiar datos y estructuras. |
CrearDataReader() | Devuelve un DataTableReader con un conjunto de resultados para cada DataTable, en el mismo orden en que aparecen las tablas de la colección Tables. |
CrearDataReader(Tabla de datos[]) | Devuelve un DataTableReader con un conjunto de resultados para cada DataTable. |
FinInit | Finaliza la inicialización de un DataSet utilizado en un formulario o utilizado por otro componente. La inicialización ocurre en tiempo de ejecución. |
Igual a(Objeto) | Determina si el objeto especificado es igual al objeto actual. |
Finalizar | Libere recursos para realizar una limpieza adicional. |
Obtener cambios | Obtiene una copia del DataSet que contiene todos los cambios realizados en el DataSet desde que se cargó o desde la última vez que se llamó a AcceptChanges. |
Obtener cambios (estado de fila de datos) | Obtiene una copia del conjunto de datos filtrado por DataRowState que contiene todos los cambios realizados en el conjunto de datos desde la última vez que se cargó o desde que se llamó a AcceptChanges. |
GetDataSetSchema | Obtenga una copia de XmlSchemaSet para el conjunto de datos. |
Obtener datos de objeto | Complete el objeto de información serializada con los datos necesarios para serializar el DataSet. |
Obtener tipo | Obtenga el tipo de la instancia actual. |
Obtener XML | Devuelve una representación XML de los datos almacenados en el DataSet. |
Obtener esquema XML | Devuelve el esquema XML de la representación XML de los datos almacenados en el DataSet. |
Tiene cambios() | Obtiene un valor que indica si el conjunto de datos ha cambiado, incluidas filas nuevas, filas eliminadas o filas modificadas. |
Tiene cambios (estado de fila de datos) | Obtiene un valor que indica si el conjunto de datos tiene cambios filtrados de DataRowState, incluidas filas nuevas, filas eliminadas o filas modificadas. |
EsBinarySerialized | Verifique el formato de la representación serializada del DataSet. |
Cargar(IDataReader, LoadOption, DataTable[]) | Utilice el IDataReader proporcionado para completar el DataSet con valores de la fuente de datos, mientras utiliza una matriz de instancias de DataTable para proporcionar información de esquema y espacio de nombres. |
Cargar(IDataReader, LoadOption, Cadena[]) | Complete el conjunto de datos con valores de la fuente de datos utilizando el IDataReader proporcionado y una matriz de cadenas para proporcionar nombres para las tablas en el conjunto de datos. |
Unir() | Combina la matriz especificada de objetos DataSet, DataTable o DataRow en el DataSet o DataTable actual. Existen diferentes sobrecargas de este método. |
Leer XML() | Lea el esquema XML y los datos en el conjunto de datos. Existen diferentes sobrecargas de este método. |
Leer XMLSchema(0) | Lea el esquema XML en el conjunto de datos. Existen diferentes sobrecargas de este método. |
Rechazar cambios | Revertir todos los cambios realizados en el DataSet desde su creación o desde la última vez que se llamó a DataSet.AcceptChanges. |
Escribir XML() | Escriba datos y esquemas XML desde DataSet. Existen diferentes sobrecargas de este método. |
Escribir XMLSchema() | Escribir esquema XML desde DataSet. Existen diferentes sobrecargas de este método. |
La clase DataTable representa una tabla en una base de datos. Tiene las siguientes propiedades importantes: La mayoría de las propiedades son de sólo lectura excepto la propiedad PrimaryKey:
propiedad | describir |
---|---|
Relaciones Infantiles | Obtiene la colección de relaciones secundarias de este DataTable. |
columnas | Obtiene la colección de columnas que pertenecen a esta tabla. |
Restricciones | Obtiene la colección de restricciones mantenidas por esta tabla. |
Conjunto de datos | Obtenga el DataSet al que pertenece esta tabla. |
Vista predeterminada | Obtiene una vista personalizada de una tabla que puede incluir vistas filtradas o posiciones del cursor. |
Relaciones con los padres | Obtiene la colección de relaciones principales de este DataTable. |
Clave primaria | Obtiene o establece la matriz de columnas que sirven como claves principales para la tabla de datos. |
Filas | Obtiene la colección de filas que pertenecen a esta tabla. |
La siguiente tabla enumera algunos métodos importantes de la clase DataTable:
método | describir |
---|---|
Aceptar cambios | Confirma todos los cambios realizados en este conjunto de datos desde que se cargó o desde la última vez que se llamó a AcceptChanges. |
Claro | Borra el conjunto de datos de cualquier dato eliminando todas las filas de todas las tablas. |
Obtener cambios | Obtiene una copia del DataSet que contiene todos los cambios realizados en el DataSet desde que se cargó por última vez o desde que se llamó a AcceptChanges. |
Obtener errores | Obtiene una matriz de objetos DataRow que contienen errores. |
Importar filas | Copie el DataRow en el DataTable, conservando la configuración de propiedad y los valores iniciales y actuales. |
Cargar fila de datos | Busque y actualice filas específicas. Si no se encuentra ninguna fila coincidente, se crea una nueva fila con el valor dado. |
Unir | Combina la matriz especificada de objetos DataSet, DataTable o DataRow en el DataSet o DataTable actual. |
Nueva fila | Cree un nuevo DataRow con el mismo esquema que la tabla. |
Rechazar cambios | Revertir todos los cambios realizados en la tabla desde que se cargó la tabla o desde la última vez que se llamó a AcceptChanges. |
Reiniciar | Borra todas las tablas y elimina todas las relaciones, restricciones externas y tablas del conjunto de datos. Las subclases deben anular Reset para restaurar el DataSet a su estado original. |
Seleccionar | Obtiene una matriz de objetos DataRow. |
El objeto DataRow representa una fila de la tabla y tiene las siguientes propiedades importantes:
propiedad | describir |
---|---|
Tiene errores | Indica si hay errores. |
Elementos | Obtenga o configure los datos almacenados en una columna específica. |
matrices de elementos | Obtenga o establezca todos los valores de esta fila. |
Mesa | Devuelve la tabla principal. |
La siguiente tabla enumera los métodos importantes de la clase DataRow:
método | describir |
---|---|
Aceptar cambios | Aplica todos los cambios desde que se llamó a este método. |
comenzar | Inicie la operación de edición. |
Cancelar | Cancele la operación de edición. |
Borrar | Eliminar filas de datos. |
Fin | Finalice la operación de edición. |
Obtener filas infantiles | Obtenga las subfilas de esta fila. |
Obtener fila de padres | Obtenga la fila principal. |
Obtener filas de padres | Obtenga la fila principal de DataRow. |
Rechazar cambios | Revertir todos los cambios realizados después de llamar a AcceptChanges. |
El objeto DataAdapter actúa como intermediario entre el objeto DataSet y la base de datos. Esto ayuda al DataSet a obtener datos de múltiples bases de datos u otras fuentes de datos.
Los objetos DataReader son una alternativa a la combinación de DataSet y DataAdapter. Este objeto proporciona acceso dirigido a registros de datos en la base de datos. Estos objetos solo son adecuados para acceso de solo lectura, como llenar una lista y luego desconectarla.
El objeto DbConnection representa la conexión a la fuente de datos. Esta conexión se puede compartir entre diferentes objetos de comando. Un objeto DbCommand representa un comando o un proceso almacenado que se envía a la base de datos para recuperar o manipular datos.
Hasta ahora hemos utilizado tablas y bases de datos de nuestras computadoras. En este caso, crearemos una tabla, agregaremos columnas, filas y datos, y mostraremos la tabla usando un control GridView.
El código del archivo fuente es el siguiente:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="createdatabase._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> </form> </body></html>
El código del archivo es el siguiente:
namespace createdatabase{ public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataSet ds = CreateDataSet(); GridView1.DataSource = ds.Tables["Student"]; GridView1.DataBind(); } } private DataSet CreateDataSet() { //creating a DataSet object for tables DataSet dataset = new DataSet(); // creating the student table DataTable Students = CreateStudentTable(); dataset.Tables.Add(Students); return dataset; } private DataTable CreateStudentTable() { DataTable Students = new DataTable("Student"); // adding columns AddNewColumn(Students, "System.Int32", "StudentID"); AddNewColumn(Students, "System.String", "StudentName"); AddNewColumn(Students, "System.String", "StudentCity"); // adding rows AddNewRow(Students, 1, "MH Kabir", "Kolkata"); AddNewRow(Students, 1, "Shreya Sharma", "Delhi"); AddNewRow(Students, 1, "Rini Mukherjee", "Hyderabad"); AddNewRow(Students, 1, "Sunil Dubey", "Bikaner"); AddNewRow(Students, 1, "Rajat Mishra", "Patna"); return Students; } private void AddNewColumn(DataTable table, string columnType, string columnName) { DataColumn column = table.Columns.Add(columnName, Type.GetType(columnType)); } //adding data into the table private void AddNewRow(DataTable table, int id, string name, string city) { DataRow newrow = table.NewRow(); newrow["StudentID"] = id; newrow["StudentName"] = name; newrow["StudentCity"] = city; table.Rows.Add(newrow); } }}
Al ejecutar el programa, observe los siguientes aspectos:
El programa primero crea una colección de datos y luego la vincula utilizando el método DataBind() del control GridView.
El método Createataset() es una función definida por el usuario que crea un nuevo objeto DataSet y llama al método adicional CreateStudentTable() definido por el usuario para crear tablas y luego agregarlas a la colección de tablas del DataSet.
El método CreateStudentTable() llama a los métodos AddNewColumn() y AddNewRow() definidos por el usuario para crear las columnas y filas de la tabla y agregar datos a las filas. Cuando se ejecuta la página, devuelve las filas de la tabla como se muestra a continuación: