Post on 04-Apr-2018
7/30/2019 Ado Net Certifica
1/103
Ado.Net 3.5
Omar Astorga Condori
7/30/2019 Ado Net Certifica
2/103
Introducci n al Acceso deDatos
Para el Almacenamiento de Datos se
emplea un metodo especifico de construiruna unidad de informacion .
Los medios de almacenamiento de datos
pueden venir en diferentes formatos, entreellos podemos mencionar:
7/30/2019 Ado Net Certifica
3/103
Introduccin al Acceso deDatos
Tipo de
Almacenamiento
Caracteristicas Ejemplo
No Estructurado Los Datos no tienen un orden Logico Memorandus simples.
Estructurado, NoJerarquico
Los datos estan separadosen unidades,pero las unidades se encuentran
estrictamente ordenados.
Archivos separados porcomas o caracteres tab,
hojas electronicas de Excel,etc.
Jerarquicos Los datos estan organizados en unaestructura tipo arbol, donde los nodospueden contener otros nodos
Documentos XML
Base de DatosRelacional
Los datos estan organizados en tablas,con columnas que contienen un tipo
especifico de datos y las filas quecontienen un simple registro. Las tablaspueden relacionarse con otras tablasque contengan datos comunes.
SQL Server, Oracle,Microsoft Access.
Base de DatosOrientada a Objetos
Los datos estan organizados comoobjetos
Objectivity/DB
7/30/2019 Ado Net Certifica
4/103
Introduccin al Acceso deDatos
ADO .NET, puede soportar el acceso acualquiera de los tipos de repositorios que seespecificaron en la tabla anterior.
ADO .NET, puede trabajar en dos entornos detrabajo:
Entorno Conectado
Entorno Desconectado
7/30/2019 Ado Net Certifica
5/103
Entorno Conectado
Durante mucho tiempo las aplicaciones que
requerian el empleo de datos lo hacian atraves de un entorno conectado de datos, locual significa que un usuario y/o aplicacionesta conectado al origen de datosconstantemente.
Un escenario conectado ofrece comobeneficio:
Un entorno seguro de facil mantenimiento.
Se puede controlar facilmente la concurrencia.
7/30/2019 Ado Net Certifica
6/103
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.
7/30/2019 Ado Net Certifica
7/103
Entorno Desconectado
Un entorno desconectado permite al usuario
no estar conectado constantemente alservidor a la base de datos. Los usuariosmoviles que emplean que empleancomputadoras portatiles o algun dispositivoPDA son los principales usuarios de entornosdesconectados.
7/30/2019 Ado Net Certifica
8/103
Entorno Desconectado
Un entorno desconectado provee las
siguientes ventajas:El usuario puede trabajar todo el tiempo que loconsidere necesario, y puede conectarse alorigen de datos en el momento que requieraprocesar su informacin.
Otros usuarios pueden emplear la conexion.
Un entorno desconectado provee escabilidad y
performance a las aplicaciones.
7/30/2019 Ado Net Certifica
9/103
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.
7/30/2019 Ado Net Certifica
10/103
M d l d A li i d
7/30/2019 Ado Net Certifica
11/103
Modelos de Aplicaciones deAcceso a Datos
Los modelos de aplicaciones de acceso adatos estn relacionados a la evolucin delas aplicaciones y computadores desde laalta distribucin.
Debido a que el numero de usuarios y lacantidad de datos se incrementa, el modelode acceso de datos puede determinarsedesde un simple usuario sobre una
aplicacin sencilla hasta mltiples usuariosconsultando informacin sobre Internet.
7/30/2019 Ado Net Certifica
12/103
Modelo de Capas
Una capa es un nivel logico sobre el cualresiden los componentes de una aplicacin.
Las capas pueden residir sobre una o mascomputadoras o capas fisicas.
El numero de capas esta referido al numerode niveles no al numero de computadoressobre el cual se puede distribuir los servicios.
7/30/2019 Ado Net Certifica
13/103
Modelo de CapasLas capas comunmente empleadas en eldesarrollo son:
Cliente: Tambien conocida como capa depresentacin o servicios de usuario. Esta capacontiene la interfase con el usuario.
Negocios: contiene la logica que intereactua conel origen de datos, contiene la parte de laaplicacin que interactua con los datos.
Datos: contiene la informacin que la capa de
negocios emplea en las aplicaciones.Interoperatibilidad: contiene la logica quepermite la interaccion entre aplicaciones quecorren sobre diferentes sistemas operativos o
que emplean diferentes tipos de datos, porejemplo XML Web Service.
7/30/2019 Ado Net Certifica
14/103
1 Capa Aplicacin MoliticaEste modelo tipicamente involucra un solousuario y todas las capas sobre un mismocomputador.
Ventajas: Debido a que todo se encuentra enun solo lugar, todos los componentes son
facilmente accesibles.Desventajas: La actualizacion de losProgramas requiere que el codigo fuente sea
modificado, recompilado y redistribuido porcada usuario.
2 C C S
7/30/2019 Ado Net Certifica
15/103
2 Capas Cliente / ServidorLa capa de usuario y la capa de negociosresiden sobre una capa, los servicios dedatos en otra.
Ventajas: Provee cierta separacion defunciones.
Desventajas: Dificultad para escala debido aque el cliente contiene las capas de usuarioy de negocio. Presentan problemas para el
mantenimiento y distribucion.
3 C
7/30/2019 Ado Net Certifica
16/103
3 CapasCada servicio se encuentra en una capadiferente.
Ventajas: Una buena separacin defunciones. La capa de cliente se convierte enun 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 C
7/30/2019 Ado Net Certifica
17/103
N CapasUna base de datos de nivel empresarial a lacual tienen acceso multiples clientes atraves de una aplicacin servidor. Nuevascapas pueden agregarse segun se requiera.
Ventajas: Permite que diferentes
aplicaciones sobre distintos sistemasoperativos puedan interactuar con el usuarioy los datos.
Desventajas: Usos de Seguridad.
7/30/2019 Ado Net Certifica
18/103
Diseo: Evolucin
Distribuida
Reglas
Presentacin
Datos
3 Capas
Datos
Reglas
Presentacin
Datos
Reglas
Presentacin
Monoltica
Reglas
Presentacin
Datos
Cliente/Servidor
Datos
Presentacin
Reglas
7/30/2019 Ado Net Certifica
19/103
Introduccin a ADO.NET
ADO.NET es la evolucin natural del modelo
ADO; se basa en el desarrollo de aplicacionesen n capas, con XML como pilar central.
ADO .NET es un nuevo conjunto de clases que
proporciona servicios de acceso a datos a losprogramadores .NET.
Es una parte integral de la clase Framework,que contiene toda la biblioteca de clases que
Microsoft ofrece con .NET, incluidas las clasesfundamentales para los tipos de sistemasanteriores, como los de E/S, redes, datos yXML.
7/30/2019 Ado Net Certifica
20/103
Operating System
Common Language Runtime
Base Class Library
ADO.NET y XML
ASP.NET
Web Forms Web ServicesMobile Internet Toolkit
WindowsForms
Common Language Specification
VB C++ C# J#
Vis
ualStudio
.N
ET
ADO.net
7/30/2019 Ado Net Certifica
21/103
Qu es ADO.NET?
Evolucin natural de ADO
Interoperabilidad
Basado en estndares como XML, XSD
Escalabilidad
Objetivos distribuidos, escenarios webdesconectados
ModelosArquitectura distribuida reemplazacliente/servidor
Integracin de datos de mltiples y diferentesfuentes
7/30/2019 Ado Net Certifica
22/103
n ro ucc nArquitectura de ADO.NET
Capa NegocioCapa Datos
Capa Presentacin
Windows Forms
Web Forms
Business to Business
Data Object (Class)
DataSet
DataSetDataSet
InternetIntranet
Data Adapter
Data Adapter
(BizTalk, for example)
XML
MyApp.Exe
IE
I t d i ADO NET
7/30/2019 Ado Net Certifica
23/103
Introduccin a ADO.NETDatos gestionados. Visin general
Proveedor Gestionado
DataReader
CommandConnection
Sync
Controles,Diseadores,Code-gen, etc
DataSet
XmlReader
XmlText-
Reader
XmlNode-
Reader
XSL/T, X-Path,Validacin, etc
XmlData-Document
DataAdapter
t
7/30/2019 Ado Net Certifica
24/103
ntro ucc n a .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
7/30/2019 Ado Net Certifica
25/103
Beneficios de ADO .NetInteroperabilidad por el uso de XML
Estandar abierto
Los Datos se Describen a si mismo
Se usa en todas las transferencias de datos en
ADO .NETEscabilidad 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
7/30/2019 Ado Net Certifica
26/103
Conceptos centrales y arquitectura
El modelo de Objetos de ADO.NET
Objetos
Proveedores administrados
Namespaces relacionados con ADO.NET
Namespace de Datos
7/30/2019 Ado Net Certifica
27/103
Namespace de DatosNamespace Descripcion
Incluye las clases que hacen posiblerealizar el trabajo en modo desconectadoen la arquitectura de ADO .NET
Provee las clases e interfaces heredadasque permiten la implementacin de los
.NET Data Providers.Proveedor para SQL Server.
Proveedor para OLE-DB para NET.
Las clases y estructuras nativas de SQLServer
Clases, interfases de XML.
7/30/2019 Ado Net Certifica
28/103
System Data
Contiene las bases de ADO.NETNamespace centrado en Datos
Provee los mecanismos para trabajar con ysobre 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
7/30/2019 Ado Net Certifica
29/103
Namespaces de DatosPara poder emplear el SQLClient en el editorde codigo de su aplicacin debe colocar lasiguiente instruccin:
7/30/2019 Ado Net Certifica
30/103
Ejemplo
El siguiente ejemplo permite poblar una
Dataset desde una Base de Datos de SQLServer y luego enlaza la informacincontenida en uno de los DataTable delDataSet al origende datos del control
dataGrid.
Ejemplo
7/30/2019 Ado Net Certifica
31/103
Ejemplo
7/30/2019 Ado Net Certifica
32/103
Ejemplo
A di d E t
7/30/2019 Ado Net Certifica
33/103
Accediendo a EntornosConectados
En escenarios conectados los recursosestan disponibles hasta cerrar la coneccion.
a. Abrir Conexinb. Ejecutar el Comando
c. Procesar las Filas de un Reader
d. Cerrar el Readere. Cerrar la Conexion
Accediendo a Entornos
7/30/2019 Ado Net Certifica
34/103
Accediendo a EntornosDesconectados
En entornos desconectados los recursos noestan disponibles mientras se procesa lainformacion.
a. Abrir Conexin
b. Poblar el DataSet
c. Cerrar la Conexion
d. Procesar el DataSet
e. Abrir la Conexin
f. Actualizar el Origen de Datos
g. Cerrar la Conexion
7/30/2019 Ado Net Certifica
35/103
Modelo de Objetos
Proveedores Administrados
Ciclo de Vida del DataSet
7/30/2019 Ado Net Certifica
36/103
Ciclo de Vida del DataSet
Establece lasrelaciones
Hace cambios alos datos
Actualiza los cambioscon el ManagedProvider
Extrae tablasCon el Managed
Provider
Ciclo de Vida del DataSet
7/30/2019 Ado Net Certifica
37/103
Ciclo de Vida del DataSet
Establece lasrelaciones
Hace cambios alos datos
Actualiza los cambioscon el ManagedProvider
Extrae tablasCon el Managed
Provider
OperacionesConectadas
Ciclo de Vida del DataSet
7/30/2019 Ado Net Certifica
38/103
Ciclo de Vida del DataSet
Establece lasrelaciones
Hace cambios alos datos
Actualiza loscambios con elManagedProvider
Extrae tablasCon el Managed
Provider
Operaciones
Desconectadas
7/30/2019 Ado Net Certifica
39/103
System.Data
Contiene las bases de ADO.NET
Namespace centrado en Datos
Provee los mecanismos para trabajar con ysobre 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
7/30/2019 Ado Net Certifica
40/103
System.Data
System.Data
DataTable
DataRow
DataRelation
DataColumn
DataSetView
DataSet
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
Puede relacionar 2 DataTables entre s
Presenta una vista del DataSet
7/30/2019 Ado Net Certifica
41/103
DataSet Tables
DataTable
System.Data y DataSet
Relations
DataRelation
DataRelation
DataRow(s)
DataColumn
Constraint(s)
DataTable
DataTable
DataView
7/30/2019 Ado Net Certifica
42/103
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: La consulta / Conjunto de resultados Donde existen DataTables y Relations
Diseado para estar desconectado del origen Conectar, ejecutar la consulta, desconectar
Se utiliza XML para leer y almacenar, tanto losdatos como el Esquema
7/30/2019 Ado Net Certifica
43/103
System.Data - DataSet
Se usan colecciones para agregar Tablas yrelaciones
Propiedades importantes:
Tables:Devuelve la coleccin de objetos DataTable
Relations:
Devuelve la coleccin de DataRelations Relacionadas con XML
7/30/2019 Ado Net Certifica
44/103
System.Data - DataSet
Contenedor Universal de datos
DataSet: No slo para basesde datos
System Data DataTable
7/30/2019 Ado Net Certifica
45/103
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
ystem ata ata et y
7/30/2019 Ado Net Certifica
46/103
ystem. ata ata et yDataTable
Crear una DataTable y agregarla al DataSet
7/30/2019 Ado Net Certifica
47/103
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 lasDataRelations Se accede a travs de la propiedad Relations del
DataSet
7/30/2019 Ado Net Certifica
48/103
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
D t S t D t R l ti
7/30/2019 Ado Net Certifica
49/103
DataSet Tables
DataTable
DataSet, DataRelation,
DataViews
Relations
DataRelationDataRelation
DataRow(s)
DataColumn
Constraint(s)
DataTable
DataTable
DataView
7/30/2019 Ado Net Certifica
50/103
Trabajando con Wizard propios delVisual Studio Ejemplo con la basede datos Northwind del Sql Server
2000
Generar una consulta con filtro,
utilizando las tablas Orders y OrderDetails
7/30/2019 Ado Net Certifica
51/103
DataSet
DataTable
DataTable
DataRow
DataColumn
Relations
ConstraintsXML Schema
Dataset
7/30/2019 Ado Net Certifica
52/103
Gestiona Intercambio De Datos EntreDataSet y Data Source
Llena (DataSet o DataTable)
Actualiza (DataSet o DataTable)
Provee Relaciones Entre Tablas Y Columnas
Usuario Puede Saltarse Los ComandosInsert/Update/Delete
Disponible Componente Autogen
Permite A Un Solo DataSet Ser PopuladoDesde Mltiples Datasources
DataAdapter
D t Ad t
7/30/2019 Ado Net Certifica
53/103
DataAdapter
SelectCommandInsertCommand
UpdateCommand
DeleteCommand
TableMappings
Database
DataSet
DataAdapter
7/30/2019 Ado Net Certifica
54/103
DataSet
demo
ADO NET y Proveedores
7/30/2019 Ado Net Certifica
55/103
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
P d d i i t d
7/30/2019 Ado Net Certifica
56/103
Proveedores administrados
System.Data
.OleDb.Sqlclient
OleDbCommandOleDbConnectionOleDbDataReaderOleDbDataSetCommand
SqlCommandSqlConnectionSqlDataReader
SqlDataSetCommand
Dependen deSystem.Data.InternalDataCollectionBasepara varias clases heredadas
L l D t P id NET
7/30/2019 Ado Net Certifica
57/103
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
7/30/2019 Ado Net Certifica
58/103
El modelo de objetoXxxDataAdapter
sp_SELECT
XxxCommand
SelectCommand UpdateCommand InsertCommand DeleteCommand
XxxDataAdapter
XxxCommand XxxCommand XxxCommand
XxxConnection
sp_UPDATE sp_INSERT sp_DELETE
XxxDataReader
Evolucion de ADO hacia ADO
7/30/2019 Ado Net Certifica
59/103
Evolucion de ADO hacia ADO.NET
Connection
ADO
ADO.NET
Command
Recordset
XxxConnection
XxxCommand
DataSet
XxxTransaction
XxxDataReader
XxxDataAdapter
ADO NET y XML
7/30/2019 Ado Net Certifica
60/103
ADO .NET y XMLADO .NET esta fuertemente integrado con
XML
2SQL query
XML Web Services
XML4 DataSetResults
3
Data Source
Uso de XML en una aplicacion conectada con ADO .NET
Cargar un XML en el arbol DOM , o usar DataReader
5 UpdatedXML DataSet 6SQL updates
Request data1
Client
Usando XML en un entorno desconectado con ADO.NET
7/30/2019 Ado Net Certifica
61/103
Conectando a un
Origen de Datos
Que son los Data Providers
7/30/2019 Ado Net Certifica
62/103
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
7/30/2019 Ado Net Certifica
63/103
Cul Data Provider deberamosusar ?
SQL Server Data Provider .NET
OLE DB Data Provider .NET
ODBC Data Provider .NET
Gua para elegir un data provider .NET
Defininiendo una Conexion
7/30/2019 Ado Net Certifica
64/103
Defininiendo una Conexion
Temas:
Seguridad en las Base de Datos
Configurando un string de conexion(connectionstring)
Seguridad en las Bases de
7/30/2019 Ado Net Certifica
65/103
Seguridad en las Bases deDatos
Usando seguridad en SQL Server
Usando Autenticacin de Windows
Usando Modo Mixto (Autenticacion de Windows
y Autenticacion de SQL )
Configurando un string de
7/30/2019 Ado Net Certifica
66/103
Configurando un string deconexin(connection string)
Seteando un Connection StringProvider (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
http://f/Visual%20Studio%20NET/Modulo%20VB2005/2%20-Ado%20Nivel%20II/2389A_02_Code.htmhttp://f/Visual%20Studio%20NET/Modulo%20VB2005/2%20-Ado%20Nivel%20II/2389A_02_code.htmhttp://f/Visual%20Studio%20NET/Modulo%20VB2005/2%20-Ado%20Nivel%20II/2389A_02_code.htmhttp://f/Visual%20Studio%20NET/Modulo%20VB2005/2%20-Ado%20Nivel%20II/2389A_02_Code.htm7/30/2019 Ado Net Certifica
67/103
Configurando un string deconexin(connection string)
Dim myConnection as NewSqlClient.SqlConnection()
myConnection.ConnectionString = "User ID=sa; &_
Password=me2I81sour2; & _
Initial Catalog=Northwind; & _
Data Source=mySQLServer; & _
Connection TimeOut=30;"
Construyendo Objetos
7/30/2019 Ado Net Certifica
68/103
Construyendo ObjetosCommand
Que es un Objeto Command ?
Como crear un objeto Command
Que son los parametros en un Command ?
Como crear Parametros para un objetoCommand
Que es un Objeto Command ?
7/30/2019 Ado Net Certifica
69/103
Que es un Objeto Command ?Un objeto command es un referencia a unasentencia SQL o a un stored procedure
Propiedades
(Name), Connection, CommandType,CommandText,
ParametersMtodos
ExecuteScalar, ExecuteNonQuery,ExecuteReader, ExecuteXmlReader
Cdigo de ejemplo: Creando unSqlCommandDim cmCategories As SqlCommand = New SqlCommand( _
"SELECT * FROM Categories", cnNorthwind)
Como crear un Stored
7/30/2019 Ado Net Certifica
70/103
Co o c ea u Sto edProcedure
Server ExplorerView, Server Explorer (Ctrl+Alt+S)
Crear una conexion a datos
Nuevo Stored Procedure
Insertar sentencias SQL ( Trans-SQL)
Como crear un objeto
7/30/2019 Ado Net Certifica
71/103
jCommand Object
Server ExplorerView, Server Explorer (Ctrl+Alt+S)
Toolbox
Usar SqlConnection u OleDbConnection
Usar SqlCommand u OleDbCommand
7/30/2019 Ado Net Certifica
72/103
Demo
ProcedimientoAlmacenado
Que son los Parametros ?
7/30/2019 Ado Net Certifica
73/103
Que son los Parametros ?
IntroduccinLas sentencias SQL y los stored procedurestienen parametros de entrada(input),salida(output) y valores de retorno(return value)
A travs de la coleccin parameters de losobjetos command podemos configurar, dandovalores y recuperar estos parametros
SqlParameter, OleDbParameter
Propiedades
ParameterName, DbType, Size, Direction
Como crear Parametros para
7/30/2019 Ado Net Certifica
74/103
pun objeto Command
Como definir programaticamente losparmetros
EjemploDim p1 As SqlParameter = New _
SqlParameter(@CatName, _
SqlDbType.NChar, 15)
p1.Direction = ParameterDirection.Output
cmdCountProds.Parameters.Add(p1)
Graficamente con las herramientas deVisual Studio .NET
Ejecutando objetos Command
7/30/2019 Ado Net Certifica
75/103
j jque retornan un solo valor
Porqu retornar un solo valor en un Command?
Como ejecutar un Command que devuelva unsolo valor
Como recuperar parametros Output y ReturnValues
Porqu retornar un solo valor
7/30/2019 Ado Net Certifica
76/103
qen un Command?
IntroduccinADO .NET es mas eficiente que en ADO, dondese retorna un grupo de registros
EjemplosUnidades en stock para un producto enparticular
Cuantos productos hay?
COUNT, MAX, MIN, AVERAGE
Como ejecutar un Command
7/30/2019 Ado Net Certifica
77/103
jque devuelve un solo valor
Introduccinretorna un valor de tipo Object
EjemplocmProducts.Parameters("@ProdID").Value = 42cnNorthwind.Open()
Dim qty As Integer = _
CType(cmProducts.ExecuteScalar(), Integer)
cnNorthwind.Close()
Como recuperar parametros
7/30/2019 Ado Net Certifica
78/103
p pOutput y Return Values
Como leer un parametro Output desde unobjeto Command
cmd.Parameters("@CatName").Value
Como obtener un Return Value de un StoredProcedurecmd.Parameters("@RETURN_VALUE").Value
7/30/2019 Ado Net Certifica
79/103
Demoejecutar
Procedimientos
Ejecutando Comandos que
7/30/2019 Ado Net Certifica
80/103
j qdevuelven filas
Temas a tratar:Retornando filas
Propiedades y mtodos de un DataReader
Como usar un objeto DataReader para procesarun conjunto de resultados
Retornando filas
7/30/2019 Ado Net Certifica
81/103
Retornando filas
DataReaderRead-only, forward-only
El mtodo ExecuteReader
Devolviendo un DataReader
Por. Ej. SqlDataReader, OleDbDataReader
Metodos y propiedades de un
7/30/2019 Ado Net Certifica
82/103
y p pobjeto DataReader
Mtodo ReadCarga la proxima fila
Devuelve True si la fila existe o False si no hay
filasMtodo Close
Propiedad Item
Mtodos GetXxx , por ej., GetString, GetInt32
Como usar el DataReader para
7/30/2019 Ado Net Certifica
83/103
pprocesar filas como resultado
Usando el objeto DataReader
7/30/2019 Ado Net Certifica
84/103
Demo01
yDemo02DataReader
Ejecutando multiplesSQ
7/30/2019 Ado Net Certifica
85/103
jsentencias SQL
Temas:Porqu usar multiples sentencias SQL ?
Como Procesar multiples sentencias SQL
Porqu usar multiplesi SQL?
7/30/2019 Ado Net Certifica
86/103
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 ProductsSELECT ProductName FROM Products
WHERE Discontinued = 0
Como procesar multiplesi SQL
7/30/2019 Ado Net Certifica
87/103
sentencias SQL
Se puede consultar la cantidad deregistros afectados de una sentenciaDML con la propiedadRecordsAffected
A cada prxima sentencia SELECT se
puede acceder con el metodoNextResult
7/30/2019 Ado Net Certifica
88/103
Demo
DataReaderMultiples Resultados
Usando DDL (Data DefinitionL )
7/30/2019 Ado Net Certifica
89/103
Language)
Que es DDL (Data Definition Language)?
Como ejecutar un comando de DLL
Que es Data DefinitionL ?
7/30/2019 Ado Net Certifica
90/103
Language?
DefinicinAutomatiza tareas de administracion delas bases de datos
Sentencias DDL
CREATE, ALTER, DROP, GRANT, DENY,REVOKE
EjemploCREATE PROCEDURE dbo.SummarizeProducts AS
CREATE TABLE ProductSummary
( ProductName nvarchar(40),
CategoryName nvarchar(15) )
Como ejecutar un comandoDDL
7/30/2019 Ado Net Certifica
91/103
DDL
Mtodo ExecuteNonQuery
Retorna cantidad de filas afectadas
Visual Basic Example
Manipulando datos usandoDML(D t M i l ti
http://localhost/var/www/apps/conversion/releases/adonet/POWERPNT/2389A_03_code.htmhttp://localhost/var/www/apps/conversion/releases/adonet/POWERPNT/2389A_03_code.htm7/30/2019 Ado Net Certifica
92/103
DML(Data Manipulation
Language)
Que el lenguaje DML(Data ManipulationLanguage)?
Como ejecutar comandos DML
Que es DML(Data ManipulationL g g )?
7/30/2019 Ado Net Certifica
93/103
Language)?
DefinicinSentencias que modifican datos en una base dedatos
Sentencias DML
INSERT, UPDATE, DELETE
EjemploCREATE PROCEDURE dbo.InsertRegion
( @RegID int,
@RegName nchar(50) )AS
INSERT INTO Region VALUES (@RegID, @RegName)
Como ejecutar un comando
7/30/2019 Ado Net Certifica
94/103
DML(Data Manipulation
Language)Ejecutar una sentencia DML
Mtodo ExecuteNonQuery
Errores al intentar modificard t
7/30/2019 Ado Net Certifica
95/103
datosErrores mas Comunes
Incorrecto nombre de objetos
Server no disponible
Problemas de integridad en los
datosUsar una conexin antes de abrirla
Invalido tipo de dato
7/30/2019 Ado Net Certifica
96/103
DemoComandos
Transaccionales
Transacciones
7/30/2019 Ado Net Certifica
97/103
Temas:
Que es una Transaccin?
Como se manejan las Transacciones ?Como trabaja una Transaccin
Que es una Transaccion?
7/30/2019 Ado Net Certifica
98/103
Q
Transacciones locales ydistribuidas
Propiedades ACID
Atomicidad (Atomicity)
Consistencia(Consistency)
Aislamiento(Isolation)
Durabilidad(Durability)
Como manejar una transaccionusando SQL
7/30/2019 Ado Net Certifica
99/103
usando SQL
Sentencias SQL para transaccionesBEGIN TRANS, COMMIT TRANS, ROLLBACKTRANS
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 transaccionesusando ADO NET
7/30/2019 Ado Net Certifica
100/103
usando ADO .NETXxxConnection, ej., SqlConnection
BeginTransaction
XxxTransaction, ej.,SqlTransaction
CommitRollback
Save (solo en SqlTransaction)
Ver ejemplo
Visual Basic Example
System.Data - DataSet y XML
http://localhost/var/www/apps/conversion/releases/adonet/POWERPNT/2389A_03_code.htmhttp://localhost/var/www/apps/conversion/releases/adonet/POWERPNT/2389A_03_code.htm7/30/2019 Ado Net Certifica
101/103
El DataSet puede leer y escribir XML desde susdatos y del esquema
O sea: es posible crear o modificar un DataSet usandoXML
Mtodo de lectura con formato XML: GetXml: Obtiene los datos del DataSet
(incluyendo el esquema)
GetXmlSchema: obtiene el esquema XSD delDataSet
Para escribir: WriteXml, WriteXmlSchema
System.Data - DataView
7/30/2019 Ado Net Certifica
102/103
Syste ata ata e 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 filtrarla vista
RowStateFilter: Indica o asigna el estado del filtro None, Unchanged, New, Deleted, ModifiedCurrent, y
otros
System.Data - DataView
7/30/2019 Ado Net Certifica
103/103
System.Data DataView
Creando objetos