sql-aspnet-php01

101
ACCESO A BASES DE DATOS SQL CON ASP.NET Visual Studio .NET 2005 - ASP .NET - SQL 2005 Fechas: 26/10/09 – 12/11/09 Horario: De 15:50 a 19:15 horas Lunes -Jueves Profesor: Javier Roig Garro [email protected]

Upload: diana-zapata

Post on 17-Dec-2015

7 views

Category:

Documents


1 download

DESCRIPTION

Conexion de Sql Serever con asp.net Csharp.

TRANSCRIPT

ASP .NET

IntroduccinDefinicinModelo de programacin consistente para todas las plataformasInteroperabilidad entre tecnologasFcil migracinSoporte HTML, XML, SOAP4Modelo de programacin consistente para todas las plataformasLos diferentes lenguajes de programacin utilizan el mismo entorno y la misma estructura por lo que permite independientemente de que lenguaje estemos utilizando tener un desarrollo de aplicaciones muy consistente

Interoperabilidad entre tecnologasAl compartir el mismo entorno y las mismas estructuras podemos tener en el mismo proyecto diferentes lenguajes cohabitando sin problemas

Fcil migracinPermite desde versiones anteriores de ASP .NET crear proyectos manteniendo una copia del anterior

Soporte HTML, xML, SOAPMantiene compatibilidad con leguajes y protocolos abiertos en internet. No utiliza una tecnologa propietaria

Acceso a bases de datos SQL con ASP.NET 4Ver 1.1 Sep 2009Elementos del ncleo de .NET.NET Framework. Conjunto comn de servicios para desarrollo de aplicaciones independientemente del lenguaje. No es necesario distribuir un runtime especifico.NET Building Block Services. Servicios Webs distribuidos programables que pueden funcionar tanto en intranet como en internetVisual Studio .NET. Entorno para simplificar desarrollo, depuracin y mantenimiento de software.NET Enterprise Services.Herramientas asociadas. SQL, Biztalk, Integration Host Services, Aplication Center, Iternet Security and Acceleration Server 2000, Commerce Server.5.NET FRAMEWORKServicios comunes para ejecutara aplicaciones .netSimplifica la programacin de objetos COM+, ya no es necesario programar el comportamiento entre aplicaciones..NET Soporta clases, herencia, mtodos, propiedades, eventos, polimorfismo, constructoresCommond Languaje Specification. Base compatible para implementar cdigo con cualquier lenguaje.Visual Studio .NET. Entorno de desarrollo multilinge.

Acceso a bases de datos SQL con ASP.NET 5Ver 1.1 Sep 2009.NET FrameWork ComponentesCommond Languaje Runtime (CLR). NET Framework libraryADO .NETASP .NETInterfaz de usuario6Commond Languaje RuntimeLenguaje mquina comn para todos los lenguajes de programacin. Se evita que cada lenguaje tenga el suyo con depuradores y compiladores distintos que al final generan un rendimiento distinto. NET Framework libraryConjunto de libreras que contienen la informacin necesaria para que se puedan ejecutar aplicaciones .net.Son de libre distribucin Actualmente vamos por la versin 3.0, aunque a nivel de desarrollo se utiliza la versin 2.0ADO .NETActiveX Data Object, es la tecnologa que se utiliza para trabajar contra bases de datos o con ficheros que funcionen a modo de bases de datosASP .NETTecnologa que se utiliza para procesar las pginas webInterfaz de usuarioLibrera de elementos necesarios para interactuar con la aplicacin

Acceso a bases de datos SQL con ASP.NET 6Ver 1.1 Sep 2009Commond Language RuntimeDescripcinSimplifica desarrollo por un entorno robustoSoporta mltiples lenguajesProporciona un entorno gestionado (Garbage collection, seguridad)

7Todas los lenguajes de programacin y las distintas tecnologas (ASP .NET, Web Forms, Windows Forms) acaban generando un mismo lenguaje base que cada ordenador interpreta para su ejecucinEsto hace que el desarrollo sea mucho ms sencillo y robusto ya que no tenemos un lenguaje base segn el tipo de desarrollo.Por otro lado ofrece un conjunto de elementos comunes que se utiliza de forma automtica en todos los desarrollosAcceso a bases de datos SQL con ASP.NET 7Ver 1.1 Sep 2009CLR ComponentesClass Loader. Carga en memoria y prepara para su ejecucinMSIL (Microsoft Intermediate Languaje). Convierte MSIL a cdigo nativo justa antes de ejecutarCode Manager. Gestiona la ejecucin del cdigoGarbage Collection. Controla el ciclo de vida de todos los objetosSecurity Engine. Permite tener seguridad por el origen del cdigo y por el usuarioDebug Engine. Depurar y realizar trazas del cdigoType Checker. Evita uso incorrecto de variables no inicializadasExcepcion Manager. Estructura de manejo de excepciones.Thread Suport. Programacin multihilo.Com Marshaled. Gestion de comunicacin de objetos com.NET FrameWork Class Library Support.8Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 8ADO .NETNueva generacin de ActiveX Data ObjectSoporta programacin desconectadaProvee soporte para XMLSystem.Data. Namespace que contiene la clase DataSetSystem.XML Namespace que soporta XML segn la compilacin W3C.System.XML.Xsl, soporta transformaciones.System.XML.Serializacion, contiene la base para los Servicios Web10Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 10Qu es ASP.NETEvolucin ms flexible de ASPPginas Web Dinmicas que pueden acceder los recursos del ServidorProcesamiento del lado del Servidor de Formulario WebServicios Web XML que permiten crear Aplicaciones Web distribuidasIndependiente del navegadorIndependiente del Lenguaje11ElementosASP .Net Web Forms, permite desarrollar interfaces de usuarioASP .NET Web Services, estructura para construir aplicaciones web distribuidasASP .NET Web Services, se basan en protocolos estndar de internet (HTTP, XML,SOAP)System.Web, clases bsicas para el cacheado, seguridad, configuracinSystem.Web.Services, gestiona los servicios webSystem.Web.UI, contiene los controles Html (HTMLControls) y los controles web (WEBControls)

Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 11Assemblies y ReferenciasEnsamblados (.dll , .exe y ficheros auxiliares).Net FrameWork tiene ensamblado predefinidosSe crean automticamente cuando se construye un proyectoReferencias a elementos externos del proyecto..NETCOMProyectosMen Proyecto Agregar ReferenciaBotn derecho en el proyecto Agregar Referencia17Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 17Conceptos Acceso a Datos18Modelo ASP 2.0 vs ASP 1.1Nuevos controlesMs ligerosMs fciles de utilizarMenos cdigo para obtener los mismos resultadosDataBindig Enlazar controles a un origen de datosSimple, enlaza un control a un campo del origen de datos.Compleja, enlazar un control a varios campos de un origen de datosApp_DataCarpeta por defecto para establecer los orgenes de datosPuede contener Access (mdb), SQL Express (mdf), XMl

Programacin ASP .NET18Ver 4.0 Sep 09Tipos de Controles19TiposEspecficos para enlazar a origen de datos GridViewGenerales, se pueden enlazar aunque con limitaciones TextBoxMixtos, permiten trabajar con un origen de datos o independientes ListBoxControles de Acceso a datos, no son visibles pero permiten enlazar a otros controles SQLDataADapterCadenas de conexinGenera automticamente en funcin del origen de datosMuestra por defecto el contenido de App_DataPermite guardarlas en web.configDataSource vs DataSourceidDataSourceId, indica el control de origen de datos, en cambio Datasource indica el objeto de origen de datos

Programacin ASP .NET19Ver 4.0 Sep 09LibreriasConjunto de clases que permite trabajar con bases de datos mediante System.DataAcceso a mltiples tipos de bases de datosUso de proveedores de datos como antes era DAO, ADO, OLEDBDos libreras con objetos parecidosSQL .NET (SQLDataReader) -> Para SQL ServerOLE DB .NET (OLEDBDataReader) -> Otros

Imports System.DataImports System.Data.SqlClientUsing System.DataUsing System.Data.SQLClient20Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 20Proveedores de Acceso a DatosEspacio de nombresSystem.Data.SQLClient, acceder a SQL Server 7.0 o posteriorSystem.Data.OLEDB, cualquier otro tipo de acceso a datosElementosObjeto Connection para conectarse con la base de datosObjeto Command para ejecutar comandos con la base de datosDataReader, para crear conjunto de datos de solo lecturaDataAdapter objeto para intercambiara datos entre un origen de datos y un DataSetLa informacin viaja entre cliente y servidor mediante XML21Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 21Tipos de controles servidor23HTML server controlsAadir runat=server para tratarlo en el modo servidorWeb server controlsIntegrados, equivalentes a los controles HTMLValidacin, testar los datos introducidosEnriquecidos, funcionalidad avanzadaEnlazados a datosControles Web, presentacin de datos en navegadoresProgramacin ASP .NET23Ver 4.0 Sep 09Controles de servidor HTML24Acceso desde el lado de servidorLas propiedades son todas tipo String, por lo que solo se detecta los errores cuando se ejecutaEsta dentro de una etiqueta Interesa cuando utilizan funciones de javaPermite actualizar rpidamente una pgina html con nuevas funcionalidades

Programacin ASP .NET24Ver 4.0 Sep 09Controles WEB de Servidor25Creados para ASP.NETNo tienen funcionalidad si no tienen una etiqueta runat=serverPropiedades son tipadas, permite detectar errores antes de compilarNamespace System.Web.UI.WebControlsProgramacin ASP .NET25Ver 4.0 Sep 09Guardar el estado. ViewState 26Cada vez que se pide una pgina se construye la pgina y todos sus controles y se destruye despus de que se envi al navegador para aumentar la capacidad del servidorSoluciona el problema de que se limpien los controles cuando viaja entre el servidor y el cliente.Control oculto _VIEWSTATE, guarda el estado dentro de una seccin Contiene un string de pares nombre-valor, con los nombres de cada control y el ltimo valorCada peticin se actualiza el controlHabilitar viewState a nivel de @Page o a nivel de control

Programacin ASP .NET26Ver 4.0 Sep 09Controles Comunes27Creacin en tiempo de DiseoDesde la barra de herramientas de controlesCreacin del cdigo HTML de forma directaPosicionamiento Absoluto o relativoHerramientas Opciones Diseador HTML Posicin CSSPostBack Hay controles que automticamente generan un postback (button)Otros controles (textbox) no lo tienen y sus eventos se disparan cuando uno que si lo tiene se ejecutaSe puede modificar el comportamiento modificando la propiedad AutoPostBack a True del controlProgramacin ASP .NET27Ver 4.0 Sep 09Eventos Qu son eventos39Accin que responde a una actuacin del usuario con un control de la pginaTipo de evento por rea de ejecucinEventos de servidorEventos de cliente Ejemplo de eventoPulsar un botn SubmitLos eventos se disparan cuando el usuario realiza una accin, aunque en muchas ocasiones no sea consciente de lo que est realizando. Por ejemplo cuando se desplaza un ratn por encima de un control se disparan varios eventos, cuando el ratn entra en el control, cuando pasa por encima y cuando abandona el control.Existen eventos que se disparan de forma automtica cuando cargamos una pgina o cuando cambiamos de una a otra pgina.Programacin ASP .NET39Ver 4.0 Sep 09Eventos Cliente40Se ejecuta en el equipo cliente, no se enva informacin al servidorSolo para controles HTMLEjecutan inmediatamenteEventos tipo onChange y mouse KeysSintaxisOnClientClick="return confirm('Seguro que quieres eliminar')"

Son acciones que tienen muy poca duracin en el tiempo, por lo que no podemos enviar una peticin al servidor para que este la procese antes de que no tenga sentido el resultado.Cuando pasamos por encima de un botn y queremos que cambie el color de fondo, lo tenemos que realizar desde el navegador, ya que si cada vez que el ratn se mueve por encima del control tiene que enviar la posicin al servidor y este devolver un color de fondo u otro posiblemente nunca cambiara del color predeterminado

Programacin ASP .NET40Ver 4.0 Sep 09Eventos Servidor41Se ejecuta en el equipo servidor, la peticin se enva al servidor para su procesoLos procedimientos de evento es cdigo compilado que est en el servidorSirve para controles HTML y WebSoporta un nmero menor de eventos, por la demora del envo de la informacinAlgunos OnChangeNO soporta MouseKeysSintaxisProgramacin ASP .NET41Ver 4.0 Sep 09Creacin de Eventos42Acceso a los eventosAl hacer doble clic sobre un control, se crea un evento con el mismo Id que el controlSeleccionar el evento de la listaSeleccionar el botn eventos en las propiedades del controlArgumentosEl objeto que enva el evento (sender)Una instancia del evento (e)Tipo EventArgs, sin informacion adicionalImgenes ImageClickEventArgs, informacin de coordenadasUtilizar Ctype para convertir sender La programacin asociada a cada evento se introduce en procedimientos que tienen como caractersticas diferenciadoras el nmero y tipo de parmetros y la clausula HANDLEDLos parmetros son los valores que pasa el sistema al interior de ese procedimiento de evento para que el programador tenga la informacin de que objeto (control en la mayora de los casos) a levantado / disparado en evento y algo de informacin asociada al tipo de control, en algunos casos la posicin, en otros el tipo y en la mayora nicamente un texto descriptivo.La clausula handled permite asociar un procedimiento a un evento, ya que podemos tener varios controles asociados al mismo procedimiento de evento para no tener que programar lo mismo varias vecesPara poder manipular las propiedades y metodos del control sender tenemos que utilizar Ctype para convertirlo del tipo Objet al control pertinente

Programacin ASP .NET42Ver 4.0 Sep 09Creacin de Eventos43AutoEventWireupSi hay que especificar los procedimientos para los eventos o los toma dependiendo del nombre del procedimientosGestionar varios controles con HANDLEDProcedimientos de eventos personalizados AddHandlerAddressOfLa programacin asociada a cada evento se introduce en procedimientos que tienen como caractersticas diferenciadoras el nmero y tipo de parmetros y la clausula HANDLEDLa clausula handled permite asociar un procedimiento a un evento, ya que podemos tener varios controles asociados al mismo procedimiento de evento para no tener que programar lo mismo varias vecesPodemos definir un procedimiento de evento personalizado y asociarlo a un evento estandar de cualquier control. Se realiza con la clausula AddHandler, referenciando al procedimiento con AddressOf

Programacin ASP .NET43Ver 4.0 Sep 09Eventos de pgina44Orden de generacin de los eventosPage_initPage_LoadEventos de ControlPage_UnloadHay eventos de control que no se ejecutan hasta que el Web Form se enva al servidor (Change)PostBack, envo de informacin al servidorSe puede forzar si el control tiene la propiedad AutoPostBack=trueProgramacin ASP .NET44Ver 4.0 Sep 09Trabajar con eventos PostBack45El evento Page_Load se ejecuta cada llamadaPropiedad page.isPostBack, determina si ya se ha enviado al servidorIf not Page.IsPostBack then Ejecuta solo la primera vezEnd IfIf (!Page.IsPostBack){//ejecuta la primera carga}Programacin ASP .NET45Ver 4.0 Sep 09Trabajar con controles comunes46Acceso a los controles de una pgina webObjeto MeColeccin de controlesEscribir informacinAsignar la informacin segn el tipo control.propiedad=valorLeer informacinAlmacenar la informacin en una variableUtilizacin en una funcinVariable=control.propiedadIf control.propiedad then..Acceso a los controlesEstamos trabajando con objetos, por lo que el acceso se realiza mediante propiedadesEl objeto de trabajo por defecto es PAGE, que contiene la informacin de la pgina cargada. Dentro de este objeto tenemos la propiedad CONTROLS que contiene la lista de controles existentes en la pginaPodemos encontrar un control utilizando el mtodo FindControl(Nombre) del objeto PAGEExiste el objeto ME, que hace referencia a la pgina actual y facilita el uso de los controles y propiedades de la pgina A la hora de asignar y leer las propiedades, si los tipos de datos no se corresponden .net realiza una conversin implcita, salvo que se especifique la opcin strict a ON (escribir Option strict on al principio del fichero de vb o en la seccin del web.config)Asignacin de valores a las propiedadesIndicar el control con el que queremos trabajarSeleccionar la propiedadAsignar el valor segn la propiedad en el formato correcto (textos entre comillas dobles, valores lgicos con True o False, etcRecuperar la informacin de los controlesDisponer de la variable donde vamos a guardar la informacinAsignar a esa variable la propiedad del control

Programacin ASP .NET46Ver 4.0 Sep 09Trabajar con Listas47Colecciones de elementosPropiedad itemsEscribir informacinMtodo ADD de la propiedad itemsAsignar a un origen de datosLeer informacinElemento SeleccionadoRecorrer la coleccin itemsColeccionesConjunto de elementos con las mismas propiedadesEn los controles de listas es la coleccin items que est formado de elementos item. Cada item tiene sus propias propiedadesLas colecciones tienen metodos comunes como por ejemplo Count para indicar el nmero de elementos en la coleccin, Add para aadir un nuevo elemento, Clear para limpiar todos los elementosLas colecciones se suelen recorrer con bucles for o for eachAadir informacin - Crear un objeto listItem aadirle las propiedades y mediante el metodo Add agregarlo a la coleccin de itemsLeer Informacin seleccionadaComo todos estos controles heredan de la misma clase, todos tienen los metodos SelectedIndex, SelectedItem, SelectedValueDepende de los controles en el listbox tenemos la propiedad GetSelectedIndices que devuelve la lista de nodos seleccionados. Utilizando un bucle for podemos recorrer esta lista y obtener las propiedades value o text de cada elementoEn controles que permiten seleccin mltiple pero no tienen la propiedad anterior, solo podemos recorrer la coleccin items y para cada uno verificar la propiedad selected

Programacin ASP .NET47Ver 4.0 Sep 09Trabajar con Controles de Navegacin48Crear mens en tiempo de ejecucinCrear el nodo o el elementoAadir el nodo al men o al rbolPropiedad Items y ChildItems en los mensPropiedad Nodes en losTreeviewLeer informacinRecorrer el men/rbol mediante los nodosResponder al EventoPropiedades SelectedNode, SelectedMenuItem

Tanto los controles Men como los TreeView pueden generarse de forma dinmica en tiempo de ejecucinEn ambos casos el planteamiento es el mismo aunque los tipos de datos sean distintos.Creacin de un nodo. En el caso de los menus definimos un objeto MenItem y en el caso de los Treeview un objeto del tipo TreeNode.Establecemos las propiedades del elemento, como value, text, actionAadimos a la coleccin de elementos del nodo padre, en el caso de mens es el metodo ADD de la coleccin ChildItems y en el caso del Treeview es el metodo ADD de la coleccin NodesPara leer informacin el planteamiento es similar a las listas, solo que en vez de recorrer la coleccin de items recorremos la coleccin de nodos. Para cada elemento podemos realizar la accin que deseemosLo ms normal es querer responder a la accin del nodo seleccionado, por lo que utilizamos las propiedades SelecctedNode y SelectedMenuItem, que nos devuelven el elemento seleccionado para poder realizar con el la opcin deseada Programacin ASP .NET48Ver 4.0 Sep 09Objeto Connection1 Establecer el tipo de conexinSQLConnection, bases de datos SQLOleDbConnection, Access y SQL antigosODBCConnection, Otro tipo de base de datos2 Especificar el origen de datosConnectionString, informacin sobre el origen de datosVaria un poco de SQL, OLEDB y ODBC 3 Conectar con el origen de datosMtodo OPEN, antes de poder trabajar con la base de datosMtodo Close, al finalizar los trabajos con la base de datos72Ver 1.1 Sep 2009Acceso a bases de datos SQL con ASP.NET 72Objeto ConnectionPropiedad ConnectionString, parmetros para establecer la conexin con la base de datosGuardar la cadena en web.configFacilita los cambios de ubicacin de la base de datos