Você está na página 1de 103

Ado.Net 3.

5
Visual Studio 2008

Omar Astorga Condori

Introduccin al Acceso de Datos

Para el Almacenamiento de Datos se emplea un metodo especifico de construir una unidad de informacion . Los medios de almacenamiento de datos pueden venir en diferentes formatos, entre ellos podemos mencionar:

Introduccin al Acceso de Datos


Tipo de Almacenamiento
No Estructurado

Caracteristicas
Los Datos no tienen un orden Logico

Ejemplo
Memorandus simples.

Estructurado, No Jerarquico
Jerarquicos

Los datos estan separadosen unidades, pero las unidades se encuentran estrictamente ordenados.
Los datos estan organizados en una estructura tipo arbol, donde los nodos pueden contener otros nodos Los datos estan organizados en tablas, con columnas que contienen un tipo especifico de datos y las filas que contienen un simple registro. Las tablas pueden relacionarse con otras tablas que contengan datos comunes. Los datos estan organizados como objetos

Archivos separados por comas o caracteres tab, hojas electronicas de Excel, etc. Documentos XML SQL Server, Oracle, Microsoft Access.

Base de Datos Relacional

Base de Datos Orientada a Objetos

Objectivity/DB

Introduccin al Acceso de Datos

ADO .NET, puede soportar el acceso a cualquiera de los tipos de repositorios que se especificaron en la tabla anterior. ADO .NET, puede trabajar en dos entornos de trabajo:
Entorno Conectado Entorno Desconectado

Entorno Conectado
Durante mucho tiempo las aplicaciones que requerian el empleo de datos lo hacian a traves de un entorno conectado de datos, lo cual significa que un usuario y/o aplicacion esta conectado al origen de datos constantemente. Un escenario conectado ofrece como beneficio:
Un entorno seguro de facil mantenimiento. Se puede controlar facilmente la concurrencia.

Entorno Conectado
Pero a su vez este modo de trabajo nos puede presentar algunas desventajas:
Requiere de una conexion de Red Permanente. Afecta la escabilidad de la aplicacin.

Entorno Desconectado
Un entorno desconectado permite al usuario no estar conectado constantemente al servidor a la base de datos. Los usuarios moviles que emplean que emplean computadoras portatiles o algun dispositivo PDA son los principales usuarios de entornos desconectados.

Entorno Desconectado
Un entorno desconectado provee las siguientes ventajas:
El usuario puede trabajar todo el tiempo que lo considere necesario, y puede conectarse al origen de datos en el momento que requiera procesar su informacin. Otros usuarios pueden emplear la conexion. Un entorno desconectado provee escabilidad y performance a las aplicaciones.

Entorno Desconectado
Un entorno desconectado provee las siguientes desventajas:
Los datos no estan actualizados siempre Los conflictos al actualizar datos pueden ocurrir y deben solucionarse.

Modelos de Aplicaciones de Acceso a Datos

Modelos de Aplicaciones de Acceso a Datos

Los modelos de aplicaciones de acceso a datos estn relacionados a la evolucin de las aplicaciones y computadores desde la alta distribucin. Debido a que el numero de usuarios y la cantidad de datos se incrementa, el modelo de acceso de datos puede determinarse desde un simple usuario sobre una aplicacin sencilla hasta mltiples usuarios consultando informacin sobre Internet.

Modelo de Capas
Una capa es un nivel logico sobre el cual residen los componentes de una aplicacin. Las capas pueden residir sobre una o mas computadoras o capas fisicas. El numero de capas esta referido al numero de niveles no al numero de computadores sobre el cual se puede distribuir los servicios.

Modelo de Capas
Las capas comunmente empleadas en el desarrollo son:
Cliente: Tambien conocida como capa de presentacin o servicios de usuario. Esta capa contiene la interfase con el usuario. Negocios: contiene la logica que intereactua con el origen de datos, contiene la parte de la aplicacin que interactua con los datos. Datos: contiene la informacin que la capa de negocios emplea en las aplicaciones. Interoperatibilidad: contiene la logica que permite la interaccion entre aplicaciones que corren sobre diferentes sistemas operativos o que emplean diferentes tipos de datos, por ejemplo XML Web Service.

1 Capa Aplicacin Molitica


Este modelo tipicamente involucra un solo usuario y todas las capas sobre un mismo computador. Ventajas: Debido a que todo se encuentra en un solo lugar, todos los componentes son facilmente accesibles. Desventajas: La actualizacion de los Programas requiere que el codigo fuente sea modificado, recompilado y redistribuido por cada usuario.

2 Capas Cliente / Servidor


La capa de usuario y la capa de negocios residen sobre una capa, los servicios de datos en otra. Ventajas: Provee cierta separacion de funciones. Desventajas: Dificultad para escala debido a que el cliente contiene las capas de usuario y de negocio. Presentan problemas para el mantenimiento y distribucion.

3 Capas
Cada servicio se encuentra en una capa diferente. Ventajas: Una buena separacin de funciones. La capa de cliente se convierte en un Cliente Ligero debido a que contiene solo la logica cliente o presentacion. Desventajas: Mas complejo de administrar, la seguridad no es tan flexible como en las aplicaciones de n capas.

N Capas
Una base de datos de nivel empresarial a la cual tienen acceso multiples clientes a traves de una aplicacin servidor. Nuevas capas pueden agregarse segun se requiera. Ventajas: Permite que diferentes aplicaciones sobre distintos sistemas operativos puedan interactuar con el usuario y los datos. Desventajas: Usos de Seguridad.

Diseo: Evolucin
Monoltica Cliente/ Servidor
Presentacin

3 Capas

Distribuida

Presentacin Presentacin Presentacin Presentacin Reglas

Reglas

Reglas

Reglas

Reglas

Datos Datos Datos Datos Datos

Introduccin a ADO.NET
ADO.NET es la evolucin natural del modelo ADO; se basa en el desarrollo de aplicaciones en n capas, con XML como pilar central. ADO .NET es un nuevo conjunto de clases que proporciona servicios de acceso a datos a los programadores .NET. Es una parte integral de la clase Framework, que contiene toda la biblioteca de clases que Microsoft ofrece con .NET, incluidas las clases fundamentales para los tipos de sistemas anteriores, como los de E/S, redes, datos y XML.

ADO.net
VB C++ C# J# Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit ADO.NET y XML Base Class Library Common Language Runtime Operating System Visual Studio .NET Windows Forms

Introduccin a ADO.NET Qu es ADO.NET?


Evolucin natural de ADO Interoperabilidad
Basado en estndares como XML, XSD

Escalabilidad
Objetivos distribuidos, escenarios web desconectados

Modelos
Arquitectura distribuida reemplaza cliente/servidor Integracin de datos de mltiples y diferentes fuentes

Introduccin Arquitectura de ADO.NET


Capa Presentacin
Windows Forms
MyApp.Exe

DataSet

Capa Negocio
Web Forms
IE

Capa Datos
Data Adapter Data Adapter

Internet Intranet DataSet


XML

Data Object (Class) DataSet

Business to Business

(BizTalk, for example)

Introduccin a ADO.NET Datos gestionados. Visin general


Controles, Diseadores, Code-gen, etc DataSet
Sync

XSL/T, X-Path, Validacin, etc

XmlDataDocument

DataAdapter

DataReader

XmlReader
XmlText- XmlNodeReader Reader

Command Connection

Proveedor Gestionado

Introduccin a ADO.NET Conceptos Generales


El Modelo de Objeto de Ado .Net
Objeto Data Set Proveedores Administrados

NameSpaces relacionados con ADO .Net


System.Data System.Data.Oledb System.Data.Sql System.Data.SqlClient

Beneficios de ADO .Net


Interoperabilidad por el uso de XML
Estandar abierto Los Datos se Describen a si mismo Se usa en todas las transferencias de datos en ADO .NET

Escabilidad por el DataSet desconectado


No se mantienen conexiones por periodos largos No se producen Bloqueos en la Base de Datos Trabaja como la Web Toco y me Voy

Facilidad de Mantenimiento
Separacion de la Logica de datos y la interfaz del usuario

Conceptos centrales y arquitectura


El modelo de Objetos de ADO.NET
Objetos DataSet Proveedores administrados

Namespaces relacionados con ADO.NET


System.Data System.Data.OleDb System.Data.Internal System.Data.Sql System.Data.SqlTypes

Namespace de Datos
Namespace
System.Data

Descripcion

Incluye las clases que hacen posible realizar el trabajo en modo desconectado en la arquitectura de ADO .NET System.Data.Common Provee las clases e interfaces heredadas que permiten la implementacin de los .NET Data Providers. System.Data.SqlClient Proveedor para SQL Server. System.Data.OleDb System.Data.SqlTypes Proveedor para OLE-DB para NET. Las clases y estructuras nativas de SQL Server Clases, interfases de XML.

System.Xml

System Data
Contiene las bases de ADO.NET Namespace centrado en Datos Provee los mecanismos para trabajar con y sobre los datos
Clases y mtodos para manipular los datos Habilidad para crear vistas de los datos Formas para representar lgicamente los datos Permite la utilizacin de XML para ver, compartir y almacenar datos

Namespaces de Datos
Para poder emplear el SQLClient en el editor de codigo de su aplicacin debe colocar la siguiente instruccin:

Ejemplo
El siguiente ejemplo permite poblar una Dataset desde una Base de Datos de SQL Server y luego enlaza la informacin contenida en uno de los DataTable del DataSet al origende datos del control dataGrid.

Ejemplo

Ejemplo

Accediendo a Entornos Conectados


En escenarios conectados los recursos estan disponibles hasta cerrar la coneccion.
a. b. c. d. e. Abrir Conexin Ejecutar el Comando Procesar las Filas de un Reader Cerrar el Reader Cerrar la Conexion

Accediendo a Entornos Desconectados

En entornos desconectados los recursos no estan disponibles mientras se procesa la informacion.


a. b. c. d. e. f. g. Abrir Conexin Poblar el DataSet Cerrar la Conexion Procesar el DataSet Abrir la Conexin Actualizar el Origen de Datos Cerrar la Conexion

Modelo de Objetos
DataSet Proveedores Administrados

Ciclo de Vida del DataSet


DataSet
Table1

Original DataStore

Extrae tablas Con el Managed Provider

Table2

Actualiza los cambios con el Managed Provider DataSet


Table1

Establece las relaciones

DataSet
Hace cambios a los datos
Table1

Table2 Table2

Ciclo de Vida del DataSet


Operaciones Conectadas
Original DataStore
Extrae tablas Con el Managed Provider DataSet
Table1

Table2

Actualiza los cambios con el Managed Provider DataSet


Table1

Establece las relaciones

DataSet
Hace cambios a los datos
Table1

Table2 Table2

Ciclo de Vida del DataSet


DataSet
Table1

Original DataStore

Operaciones Desconectadas

Extrae tablas Con el Managed Provider

Table2

Actualiza los cambios con el Managed Provider DataSet


Table1

Establece las relaciones

DataSet
Hace cambios a los datos
Table1

Table2 Table2

System.Data
Contiene las bases de ADO.NET Namespace centrado en Datos Provee los mecanismos para trabajar con y sobre los datos
Clases y mtodos para manipular los datos Habilidad para crear vistas de los datos Formas para representar lgicamente los datos Permite la utilizacin de XML para ver, compartir y almacenar datos

System.Data
System.Data DataSet DataTable DataRow DataColumn

Contiene las clases principales de ADO.NET


Persistencia en memoria de los datos Persistencia en memoria de la tabla de la base de datos Permite manipular una fila en un DataTable Permite definir columnas en un DataTable

DataRelation
DataSetView

Puede relacionar 2 DataTables entre s


Presenta una vista del DataSet

System.Data y DataSet
DataSet
Tables
DataTable
DataRow(s)

Relations
DataRelation DataRelation

DataColumn

DataView

Constraint(s)

DataTable
DataTable

System.Data - DataSet
Un repositorio en memoria de datos desde un origen Forma comn de representar y manipular datos
Contendor universal No slo para base de datos

Representacin lgica o fsica de los datos; depende de: Diseado para estar desconectado del origen
Conectar, ejecutar la consulta, desconectar La consulta / Conjunto de resultados Donde existen DataTables y Relations

Se utiliza XML para leer y almacenar, tanto los datos como el Esquema

System.Data - DataSet
Se usan colecciones para agregar Tablas y relaciones Propiedades importantes:
Tables:

Devuelve la coleccin de objetos DataTable Relations: Devuelve la coleccin de DataRelations Relacionadas con XML

System.Data - DataSet
Contenedor Universal de datos
DataSet: No slo para bases de datos

System.Data - DataTable
Puede ser vinculado a una tabla fsica de una base Y relacionarla con otras a travs de DataRelations Bloqueo concurrente optimista Propiedades importantes:
Columns: Devuelve la coleccin de DataColumns como

ColumnsCollection Rows: Devuelve objetos DataRow como una RowsCollection ParentRelations: Devuelve una RelationsCollection Constraints: Devuelve la ConstraintsCollection de la tabla DataSet: Devuelve el conjunto de datos de la DataTable PrimaryKey: Obtiene los DataColumns que conforman la clave primaria de la tabla

System.DataDataSet y DataTable
Crear una DataTable y agregarla al DataSet

DataSet ds = new DataSet(); // Crear el objeto Clientes. DataTable dt= new DataTable( Clientes ); // Crear y agregar columnas // 1. Explcitamente DataColumn dc = new DataColumn( ID, Int16 ); dt.Columns.Add( dc ); // 2. Implcitamente. dt.Columns.Add( Nombre, String ); dt.Columns.Add( Apellido, String ); // Agregar el objeto DataTabla al DataSet ds.Tables.Add( dt );

System.Data - DataRelation
Utilizada para crear relaciones lgicas
Entre dos (2) objetos DataTable Requiere un objeto DataColumn de cada DataTable El tipo de datos (DataType) de ambas DataColumns

debe ser el mismo No es posible relacionar un Int32 con un String Se le asigna un nombre

Permite navegacin por relaciones RelationsCollection contiene todas las DataRelations


Se accede a travs de la propiedad Relations del

DataRelation dr=new DataRelation _ (miRelacion,...)

DataSet

System.Data - DataRelation
Como crear un DataRelation:
Obtener los objetos DataColumn a relacionar Crear y nombrar un DataRelation usando las

columnas Agregar la relacin al DataSet

// Obtener las columnas a utilizar... DataColumn colPadre, colHija; colPadre= DataSet.Tables["Clientes"].Columns["ID"]; colHija = DataSet.Tables[Pedidos].Columns["IDCliente"]; // Crear el DataRelation llamado CliPedidos... DataRelation dr; dr = New DataRelation(CliPedidos", colPadre, colHija); // Agregar la relacin al DataSet... ds.Relations.Add( dr );

DataSet, DataRelation, DataViews


DataSet
Tables
DataTable
DataRow(s) DataColumn

DataView

Relations
DataRelation DataRelation

Constraint(s)

DataTable
DataTable

Ejemplo
Trabajando con Wizard propios del Visual Studio Ejemplo con la base de datos Northwind del Sql Server 2000 Generar una consulta con filtro, utilizando las tablas Orders y Order Details

Dataset

DataSet

DataTable DataColumn

DataTable

DataRow

Relations XML Schema

Constraints

DataAdapter
Gestiona Intercambio De Datos Entre DataSet y Data Source
Llena (DataSet o DataTable) Actualiza (DataSet o DataTable)

Provee Relaciones Entre Tablas Y Columnas Usuario Puede Saltarse Los Comandos Insert/Update/Delete
Disponible Componente Autogen

Permite A Un Solo DataSet Ser Populado Desde Mltiples Datasources

DataAdapter
DataAdapter Database

SelectCommand
InsertCommand UpdateCommand DeleteCommand TableMappings DataSet

demo
DataSet

ADO.NET y Proveedores Administrados


Una coleccin de clases que permiten acceder a los orgenes de datos:
Microsoft SQL Server 2000, SQL Server 7,

y MSDE Otros proveedores OLEDB


Por ejemplo: Oracle

Establece la conexin entre los DataSets y el

repositorio de los datos

Dos proveedores base:


OLEDB: Namespace System.Data.OleDb SQL Server: Namespace System.Data.Sql

Proveedores administrados
System.Data
.Sqlclient SqlCommand SqlConnection SqlDataReader SqlDataSetCommand .OleDb OleDbCommand OleDbConnection OleDbDataReader OleDbDataSetCommand

Dependen de System.Data.InternalDataCollectionBase para varias clases heredadas

Las clases Data Provider .NET


XxxConnection, por ej., SqlConnection
XxxTransaction, por ej., SqlTransaction XxxError, por ej., SqlError

XxxCommand, por ejemplo, SqlCommand


XxxParameter, por ej., SqlParameter

XxxDataReader, por ej., SqlDataReader XxxDataAdapter, por ej., SqlDataAdapter

El modelo de objeto XxxDataAdapter


XxxDataAdapter
SelectCommand UpdateCommand InsertCommand DeleteCommand

XxxDataReader XxxCommand XxxCommand XxxCommand XxxCommand

XxxConnection
sp_SELECT sp_UPDATE sp_INSERT sp_DELETE

Evolucion de ADO hacia ADO .NET


Connection

XxxConnection
XxxTransaction

ADO .NET

ADO

Command

XxxCommand
DataSet

Recordset

XxxDataReader
XxxDataAdapter

ADO .NET y XML


ADO .NET esta fuertemente integrado con XML

Client

Usando XML en un entorno desconectado con ADO .NET XML Web Services
1 4 5
Request data

2
DataSet DataSet

SQL query Results SQL updates

Data Source

XML Updated XML

3
6

Uso de XML en una aplicacion conectada con ADO .NET

Cargar un XML en el arbol DOM , o usar DataReader

Conectando a un Origen de Datos

Que son los Data Providers .NET ?


Tipos de Data Providers .NET
SQL Server Data Provider .NET OLE DB Data Provider .NET ODBC Data Provider .NET

Cul Data Provider deberamos usar ?


SQL Server Data Provider .NET OLE DB Data Provider .NET ODBC Data Provider .NET Gua para elegir un data provider .NET

Defininiendo una Conexion


Temas:
Seguridad en las Base de Datos
Configurando un string de conexion(connection string)

Seguridad en las Bases de Datos


Usando seguridad en SQL Server
Usando Autenticacin de Windows

Usando Modo Mixto (Autenticacion de Windows y Autenticacion de SQL )

Configurando un string de conexin(connection string)


Seteando un Connection String
Provider (solo para OLE DB ) Data Source Initial Catalog Integrated Security User ID/Password Persist Security Info

Visual Basic Example

C# Example

Configurando un string de conexin(connection string)


Dim myConnection as New SqlClient.SqlConnection() myConnection.ConnectionString = "User ID=sa; &_ Password=me2I81sour2; & _ Initial Catalog=Northwind; & _ Data Source=mySQLServer; & _ Connection TimeOut=30;"

Construyendo Objetos Command


Que es un Objeto Command ? Como crear un objeto Command

Que son los parametros en un Command ?


Como crear Parametros para un objeto Command

Que es un Objeto Command ?


Un objeto command es un referencia a una sentencia SQL o a un stored procedure Propiedades
(Name), Connection, CommandType, CommandText, Parameters

Mtodos
ExecuteScalar, ExecuteNonQuery, ExecuteReader, ExecuteXmlReader

Cdigo de ejemplo: Creando un SqlCommand


Dim cmCategories As SqlCommand = New SqlCommand( _ "SELECT * FROM Categories", cnNorthwind)

Como crear un Stored Procedure


Server Explorer
View, Server Explorer (Ctrl+Alt+S) Crear una conexion a datos Nuevo Stored Procedure Insertar sentencias SQL ( Trans-SQL)

Como crear un objeto Command Object


Server Explorer
View, Server Explorer (Ctrl+Alt+S)

Toolbox
Usar SqlConnection u OleDbConnection Usar SqlCommand u OleDbCommand

Demo Procedimiento Almacenado

Que son los Parametros ?


Introduccin
Las sentencias SQL y los stored procedures tienen parametros de entrada(input), salida(output) y valores de retorno(return value) A travs de la coleccin parameters de los objetos command podemos configurar, dando valores y recuperar estos parametros SqlParameter, OleDbParameter

Propiedades
ParameterName, DbType, Size, Direction

Como crear Parametros para un objeto Command


Como definir programaticamente los parmetros
Ejemplo
Dim p1 As SqlParameter = New _ SqlParameter(@CatName, _ SqlDbType.NChar, 15) p1.Direction = ParameterDirection.Output cmdCountProds.Parameters.Add(p1)

Graficamente con las herramientas de Visual Studio .NET

Ejecutando objetos Command que retornan un solo valor


Porqu retornar un solo valor en un Command? Como ejecutar un Command que devuelva un solo valor Como recuperar parametros Output y Return Values

Porqu retornar un solo valor en un Command?


Introduccin
ADO .NET es mas eficiente que en ADO, donde se retorna un grupo de registros

Ejemplos
Unidades en stock para un producto en particular Cuantos productos hay? COUNT, MAX, MIN, AVERAGE

Como ejecutar un Command que devuelve un solo valor


Introduccin
ExecuteScalar retorna un valor de tipo Object

Ejemplo
cmProducts.Parameters("@ProdID").Value = 42 cnNorthwind.Open() Dim qty As Integer = _ CType(cmProducts.ExecuteScalar(), Integer) cnNorthwind.Close()

Como recuperar parametros Output y Return Values


Como leer un parametro Output desde un objeto Command
cmd.Parameters("@CatName").Value

Como obtener un Return Value de un Stored Procedure


cmd.Parameters("@RETURN_VALUE").Value

Demo ejecutar Procedimientos

Ejecutando Comandos que devuelven filas


Temas a tratar:
Retornando filas Propiedades y mtodos de un DataReader Como usar un objeto DataReader para procesar un conjunto de resultados

Retornando filas
DataReader
Read-only, forward-only

El mtodo ExecuteReader
Devolviendo un DataReader Por. Ej. SqlDataReader, OleDbDataReader

Metodos y propiedades de un objeto DataReader


Mtodo Read
Carga la proxima fila Devuelve True si la fila existe o False si no hay filas

Mtodo Close Propiedad Item Mtodos GetXxx , por ej., GetString, GetInt32

Como usar el DataReader para procesar filas como resultado


Usando el objeto DataReader

Demo01 y Demo02 DataReader

Ejecutando multiples sentencias SQL


Temas:
Porqu usar multiples sentencias SQL ? Como Procesar multiples sentencias SQL

Porqu usar multiples sentencias SQL?


Performance Gropo de tareas relacionadas Encapsular reglas de negocios ejemplo
/* a stored procedure with multiple SQL statements */ CREATE PROCEDURE dbo.IncreasePrices AS UPDATE Products SET UnitPrice = UnitPrice * 1.02 SELECT ProductName, UnitPrice FROM Products SELECT ProductName FROM Products WHERE Discontinued = 0

Como procesar multiples sentencias SQL


Se puede consultar la cantidad de registros afectados de una sentencia DML con la propiedad RecordsAffected
A cada prxima sentencia SELECT se puede acceder con el metodo NextResult

Multiples Resultados

Demo DataReader

Usando DDL (Data Definition Language)


Que es DDL (Data Definition Language)?
Como ejecutar un comando de DLL

Que es Data Definition Language?


Definicin
Automatiza tareas de administracion de las bases de datos

Sentencias DDL
CREATE, ALTER, DROP, GRANT, DENY, REVOKE

Ejemplo
CREATE PROCEDURE dbo.SummarizeProducts AS CREATE TABLE ProductSummary ( ProductName nvarchar(40), CategoryName nvarchar(15) )

Como ejecutar un comando DDL


Mtodo ExecuteNonQuery
Retorna cantidad de filas afectadas

Visual Basic Example

Manipulando datos usando DML(Data Manipulation Language)


Que el lenguaje DML(Data Manipulation Language)?
Como ejecutar comandos DML

Que es DML(Data Manipulation Language)?


Definicin
Sentencias que modifican datos en una base de datos

Sentencias DML
INSERT, UPDATE, DELETE

Ejemplo
CREATE PROCEDURE dbo.InsertRegion ( @RegID int, @RegName nchar(50) ) AS INSERT INTO Region VALUES (@RegID, @RegName)

Como ejecutar un comando DML(Data Manipulation Language)


Ejecutar una sentencia DML
Mtodo ExecuteNonQuery

Errores al intentar modificar datos


Errores mas Comunes
Incorrecto nombre de objetos Server no disponible Problemas de integridad en los datos Usar una conexin antes de abrirla Invalido tipo de dato

Demo Comandos Transaccionales

Transacciones
Temas:
Que es una Transaccin? Como se manejan las Transacciones ? Como trabaja una Transaccin

Que es una Transaccion?


Transacciones locales y distribuidas Propiedades ACID
Atomicidad (Atomicity) Consistencia(Consistency) Aislamiento(Isolation) Durabilidad(Durability)

Como manejar una transaccion usando SQL


Sentencias SQL para transacciones
BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS

Ejemplo
/* Use a transaction to ensure consistency */ BEGIN TRANSACTION INSERT INTO Account (AccountID, Amount, DebitCredit) VALUES (1234, 100, 'debit') INSERT INTO Account (AccountID, Amount, DebitCredit) VALUES (5678, 100, 'credit') IF (@@ERROR > 0) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION

Como manejar transacciones usando ADO .NET


XxxConnection, ej., SqlConnection
BeginTransaction

XxxTransaction, ej., SqlTransaction


Commit Rollback Save (solo en SqlTransaction) Ver ejemplo
Visual Basic Example

System.Data - DataSet y XML


El DataSet puede leer y escribir XML desde sus datos y del esquema
O sea: es posible crear o modificar un DataSet usando

XML

Mtodo de lectura con formato XML: GetXml: Obtiene los datos del DataSet (incluyendo el esquema) GetXmlSchema: obtiene el esquema XSD del DataSet Para escribir: WriteXml, WriteXmlSchema

System.Data - DataView
Crea mltiples vistas de los objetos DataTable Vinculable a controles Propiedades importantes:
Item: Obtiene una fila de una tabla determinada Table: Obtiene o asigna el objeto DataTable Sort: obtiene o asigna la/s columna/s y el

ordenamiento RowFilter: Obtiene o asigna la expresin para filtrar la vista RowStateFilter: Indica o asigna el estado del filtro
None, Unchanged, New, Deleted, ModifiedCurrent, y otros

System.Data - DataView
Creando objetos DataView
DataView vista1 = new DataView( miTabla ); DataView vista2 = new DataView( miTabla ); // La vista ordenada por Apellido vista1.Sort = Apellido ASC;

// Filtrar para ver slo los modificados vista2.RowStateFilter= DataViewRowState.ModifiedOriginal; // Vincular a un control de usuario... DataGrid myGrid = new DataGrid(); myGrid.SetDataBinding( view1, Clientes);
//...

Você também pode gostar