Ado Net Certifica

download Ado Net Certifica

of 103

Transcript of Ado Net Certifica

  • 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.htm
  • 7/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.htm
  • 7/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.htm
  • 7/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