Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.

Slides:



Advertisements
Presentaciones similares
Procedimientos almacenados en C#
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
INSTRUCTOR: LI Ramiro Robles Villanueva
ALMACENAMIENTO Y OBTENCIÓN DE DATOS CON ADO.NET. ACCEDER A DATOS CON ADO.NET Tres niveles: Tres niveles: El almacenamiento físico de datos. Puede ser.
Acceso a Bases de Datos con Java
Conceptos fundamentales de ADO.NET
XML01 Este es el capítulo de prueba
Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g.
Microsoft Office Sharepoint Server Servicios de Búsqueda Rubén Alonso Cebrián Código: HOL-SPS12.
SQL Sigla del nombre “Structured Query Language”.
integridad referencial
Test Individual Nombre: ………………………….. Fecha: …………………………….
CRISTINA TIGLLA NOVENO F
Procedimientos de Almacenado
Acceso a datos con Microsoft ADO.NET
Acceso a datos con ADO.NET
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
ADO.NET.
Acceso a Datos avanzado
Data set Data table Base de datos con servidor de base de datos String conexión Objeto conexión.
Programador en Plataforma Java y XML
ADO.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Introducción ADO .Net.
ADO.Net TGP (Tecnología de la Programación)
4.3. Privilegios de usuarios
Práctica No. 8 Lectura de Datos. Objetivo: Que el estudiante adquiera conocimientos y técnicas sobre la exploración de base de datos utilizando ASP.NET.
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Acceso a datos con ADO.NET
Expert.NET Development Programando Web para principiantes III por Jonas Stawski
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
SQL Lenguaje de consulta estructurado
SQL SERVER Reporting Services
Subconsultas Avanzadas
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
CONCEPTOS BASICOS SQL SERVER SEBASTIAN MARTINEZ GARCIA.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
REALIZADO POR: MERINO MERINO JORGE MORI CORREA JHONATAM VIDARTE DELGADO JAVIER.
Bases de datos:MYSQL. ¿Qué es una base de datos? Colección de datos persistentes, relacionados y estructurados. Persistentes: se almacenan en archivos.
Éxito = Esfuerzo, Voluntad, Práctica.. Objetivos: Describir algunos objetos ADO.NET utilizados habitualmente. Crear y abrir una conexión a una base de.
INSTRUCCIONES Elaboración de la Presentación:
Structured Query Language (Lenguaje Estructurado de Consultas)
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Lenguaje Estructurado de Consulta
Sistema informático de apoyo a la evaluación de la enseñanza IN.CO.
INSTRUCCIONES Elaboración de la Presentación:
 SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación.
Materia: Desarrollo e implementación web Carrera: Ing. Informática Docente: M.I. Rosario de Alba Domínguez Rodríguez ALUMNA: Marissa Michelle Juárez Kim.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Tema 11 Bases de Datos y el Lenguaje SQL
Análisis de las principales vulnerabilidades de un sistema informático. Gabriel Montañés León.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Qué es SQL? Sentencias básicas
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
DISPARADORES Y SISTEMAS DE GESTION DE BASE DE DATOS DE SQL
¿Cómo programar un Botón para agregar registros a una base de datos?
INGENIERIA WEB CONEXIONES A BASES DE DATOS EN LA PLATAFORMA .NET
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
VISUAL STUDIO. Paradigmas de Programación Funcionalidad Win16 Win32 COM MFC Componentes Servicios APIs Windows 3.0.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Transcripción de la presentación:

Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182

La cadena de conexión La mejor seguridad, es la seguridad integrada La mejor seguridad, es la seguridad integrada  Disminuye la posibilidad de acceso no autorizado  Facilita el manejo de permisos de acceso  No requiere mayor mantenimiento del lado de la base  Un nuevo usuario sólo debe agregarse al dominio y al grupo adecuado en un solo punto administrativo

La cadena de Conexión (2) Cuando no podemos acceder a la seguridad del dominio, entonces usamos seguridad de SQL Server Cuando no podemos acceder a la seguridad del dominio, entonces usamos seguridad de SQL Server  Proveedores externos de sitios Requiere mayor cuidado en la configuración de la cadena de conexión Requiere mayor cuidado en la configuración de la cadena de conexión  Encriptación  Almacenamiento en ubicaciones no comunes

Agregando connection string al web.config <add name="northwind" connectionString="server=(local);database=Northwind;Integrated Security=SSPI" providerName="System.Data.SqlClient" />

Accediendo desde el código al web.config SqlConnection connection = new SqlConnection( ConfigurationManager.ConnectionStrings[ "ADVENTUREWORKSConnectionString"].ConnectionString); Acceso de lectura/escritura a especificaciones de configuración. Ejemplo en C#:

DataAdapter Obteniendo datos (CLR) Connection Command DataReader GetByte(n)GetString(n)GetInt32(n)… ConnectionCommand DataReader DataSet

Obteniendo Datos (SQL) Sentencias SQL Sentencias SQL  Excepto que sean muy similares con alguna anterior, requieren un análisis completo cada vez que se ejecutan  Si sólo varía el valor de los argumentos utilizados, SQL Server es capaz de mantener en caché las sentencias Procedimientos Almacenados Procedimientos Almacenados  Sólo consumen el tiempo de la obtención de datos  Permiten implementar mejores mecanismos de autorización de acceso

Actualizando datos (SQL) Actualizar Actualizar Insertar Insertar Eliminar Eliminar UPDATE Oradores SET Nombre = 'Nombre', Apellido = 'Apellido', EsInternacional = 1 where Id=3 INSERT INTO Oradores (Nombre, Apellido, EsInternacional) VALUES (N'Nombre', N'Apellido', 1) where Id=3 DELETE FROM Oradores WHERE (Id = 3)

Actualizando datos (SQL) (2) Procedimientos Almacenados Procedimientos Almacenados  Más rápidos  Más seguros CREATE/ALTER Procedure int = nvarchar(100) = nvarchar(100) = bit = bit = varchar(8000) = nvarchar(100) = bit = bit = nvarchar(200) = bit = nulll AS Update [Oradores] SET where

Utilizando procedimientos almacenados Ejecutar cualquier sentencia SQL significa Ejecutar cualquier sentencia SQL significa  Control de sintaxis  Control de validez de los objetos implicados  Compilación  Cálculo del plan de ejecución (Query Plan)  Ejecución y obtención de resultados Ejecutar cualquier procedimiento almacenado significa Ejecutar cualquier procedimiento almacenado significa  Ejecución y obtención de resultados  (el resto se realiza al guardar el PA en la base de datos)

Objeto Command Representa una Instrucción SQL o un procedimiento almacenado que ejecuta en un origen de datos Expone 4 métodos importantes para devolver datos:   ExecuteReader()   ExecuteScalar()   ExecuteNonQuery()   ExecuteXMLReader() Llamada a StoresProcedures utilizando Parameters Objeto Command especifico para cada proveedor:   SQLCommand   ODBCCommand   OLEDBCommand   OracleCommand ADO.NET 2.0

Objeto Command – Ejemplo 1 de SQLCommand ADO.NET 2.0

Objeto Command – Ejemplo 2 de SQLCommand ADO.NET 2.0

Objeto DataReader Forward-only / Read-only Acceso rápido a los datos Conectado al origen La conexión la maneja usted mismo Los datos se manejan por código o a través de controles enlazados Usa pocos recursos ADO.NET 2.0

Objeto DataReader – Ejemplo 1 ADO.NET 2.0

Objeto DataReader – Ejemplo 2 ADO.NET 2.0

Gestiona el intercambio de datos entre DataTables y un Data Source  .Fill (DataSet o DataTable)  .Update (DataSet o DataTable) Provee relaciones entre tablas y columnas El usuario puede saltarse los comandos Insert/Update/Delete Objeto DataAdapter ADO.NET 2.0

DataAdapterDataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand TableMappings DatabaseDatabase DataTableDataTable DataSetDataSet Objeto DataAdapter DataTableDataTable DataTableDataTable Origen de Datos Adaptador Conjunto de Resultados ADO.NET 2.0

Rellenar: DataAdapter.Fill(DataTable) Objeto DataAdapter - Ejemplo ADO.NET 2.0

Guardar Cambios: DataAdapter.Update(DataTable) Objeto DataAdapter - Ejemplo ADO.NET 2.0

DataBinding (Data Sources) Mecanismo de Enlaces entre Objetos contenedores de datos (DataSet, WebService, DataBase) y los Controles WinForms Operaciones automatizadas No requiere escribir código Permite Navegación, Edición de registros Múltiples Origenes de Datos:   DataSet   Web Service’s   DataBase Se Establece en tiempo de Diseño ADO.NET 2.0

Buenas Prácticas Las consultas deben ser específicas en cuanto a las columnas que deben devolver Las consultas deben ser específicas en cuanto a las columnas que deben devolver  Select * from tabla  Un error común: denominar los procedimientos almacenados comenzando con sp_ Un error común: denominar los procedimientos almacenados comenzando con sp_  Sp_ significa “system procedure” no “Store procedure”

Capa de acceso a datos Encapsular la funcionalidad en un componente común Encapsular la funcionalidad en un componente común  Reusable  No vinculado a una base o aplicación en particular Definir en el mismo las funcionalidades esenciales parametrizadas Definir en el mismo las funcionalidades esenciales parametrizadas  Esto conlleva consumir más recursos de conexión a la base  Implementar caché de acciones

PASOS A SEGUIR PARA METODOS DAO CON INSERT, UPDATE y DELETE: Crear objeto SqlConnection con la correspondiente connection string. Crear objeto SqlConnection con la correspondiente connection string. Abrir la conexión (connection.Open()). Abrir la conexión (connection.Open()). Crear e instanciar objeto SqlCommand. Crear e instanciar objeto SqlCommand. Setear el tipo de comando (CommandType) Setear el tipo de comando (CommandType) Setear el CommandText con la query a ejecutar o el nombre del stored procedure. Setear el CommandText con la query a ejecutar o el nombre del stored procedure. En caso de ser un stored procedure, crear SqlParameters necesarios y asignarle los valores. En caso de ser un stored procedure, crear SqlParameters necesarios y asignarle los valores. Ejecutar el método ExecuteNonQuery() del objeto command. Ejecutar el método ExecuteNonQuery() del objeto command. CERRAR LA CONEXIÓN: connection.Close() CERRAR LA CONEXIÓN: connection.Close()

PASOS A SEGUIR PARA METODOS DAO CON SELECT: Crear objeto SqlConnection con la correspondiente connection string. Crear objeto SqlConnection con la correspondiente connection string. Abrir la conexión (connection.Open()). Abrir la conexión (connection.Open()). Crear e instanciar objeto DataSet para almacenar los resultados. Crear e instanciar objeto DataSet para almacenar los resultados. Crear e instanciar objeto SqlCommand. Crear e instanciar objeto SqlCommand. Setear el tipo de comando (CommandType) Setear el tipo de comando (CommandType) Setear el CommandText con la query a ejecutar o el nombre del stored procedure. Setear el CommandText con la query a ejecutar o el nombre del stored procedure. En caso de ser un stored procedure, crear SqlParameters necesarios y asignarle los valores. En caso de ser un stored procedure, crear SqlParameters necesarios y asignarle los valores. Crear objeto SqlDataAdapter y pasarle en el constructor nuestro SqlCommand creado anteriormente. Crear objeto SqlDataAdapter y pasarle en el constructor nuestro SqlCommand creado anteriormente. Ejecutar el método Fill() del SqlDataAdapter, pasándole por parámetro nuestro DataSet donde se almacenaran los resultados. Ejecutar el método Fill() del SqlDataAdapter, pasándole por parámetro nuestro DataSet donde se almacenaran los resultados. CERRAR LA CONEXIÓN: connection.Close() CERRAR LA CONEXIÓN: connection.Close()

Demo Aplicando ADO.NET a nuestro proyecto