Condensado de gramática. Buen resumenDescripción completa
ejercicio paso a paso en Access sobre una BD's
IMÁGENES y descripción de secuencia movimientos y giros en ingles
Método de guitarra
Método de guitarraDescripción completa
Descripción completa
Aprenda a armar su propio libro a partir de hojas sueltas.Full description
Descripción completa
Motores Paso a Paso
Descripción: Estadistica Paso a Paso
Descripción completa
Descripción: MOTOR PASO A PASO
REPOSTERIA PASO A PASO
Descripción: MANUAL
Descripción completa
vulcan 7.5Descripción completa
Método de guitarraDescripción completa
Conocimientos básicos de cortes de peloDescripción completa
Descripción completa
Tutorial 1: Creación de una capa de acceso de datos C#SHARP Scott Mitchell 06 2006 Descargue el ASPNET_Data_Tutorial_1_CS.exe código de ejemplo. Descargar el código de ejemplo ASPNET_Data_Tutorial_1_C ASPNET_Data_Tutorial_1_CS.exe. S.exe.
Contenido del Tutorial 1 (Visual C #) Introducción Paso 1: Crear un proyecto Web y conexión a la base de datos Paso 2: Creación de la capa de acceso a los datos Paso 3: Agregar los métodos con parámetros de la capa de acceso de datos Paso 4: Actualizar, insertar y eliminar datos Paso 5: Completar el nivel de acceso a datos resumen
Introducción Como desarrolladores web, nuestras vidas giran en torno a trabajar con datos. Creamos las bases de datos para almacenar los datos, el código para recuperar y modificar, y las páginas web para recopilar y resumir la misma. Este es el primer tutorial de una serie larga que va a explorar técnicas para implementar estos patrones comunes en ASP.NET 2.0. Vamos a empezar con la creación de unaarquitectura una arquitectura de software compuesto por una capa de acceso a datos (DAL), utilizando conjuntos de datos con tipo, una capa de lógica empresarial (BLL) que hace cumplir las reglas de negocio personalizadas, y una capa de presentación compuesta por páginas ASP.NET que comparten una página común diseño. Una vez que esta base backend se ha establecido, vamos a pasar a la presentación de informes, que muestra cómo mostrar, resumir, recopilar y validar datos de una aplicación web. Estos tutoriales están orientados a ser conciso y ofrecen instrucciones paso a paso las instrucciones con un montón de capturas de pantalla que le guiará a través del proceso visual. Cada tutorial está disponible en C # y Visual Basic y incluye una descarga del código completo usado. (Este primer tutorial es bastante largo, pero el resto se presentan en trozos mucho más digerible.)
Para estos tutoriales vamos a utilizar un Microsoft SQL Server 2005 Express Edition versión de la base de datos Neptuno situado en el App_Data directorio. Además de los archivos de base de datos, el App_Data carpeta también contiene los scripts de SQL para crear la base de datos, en caso de que desee utilizar una versión de base de datos diferente. Estos scripts pueden también ser descargadas directamente desde Microsoft , si usted prefiere. Si utiliza una versión diferente de SQL Server de la base de datos Northwind, usted tendrá que actualizar la NORTHWNDConnectionString configuración de la aplicación de Web.config archivo. La aplicación web ha sido desarrollado usando Visual Studio 2005 Professional Edition como sistema de archivos basado en proyecto de sitio Web. Sin embargo, todos los tutoriales funcionan igual de bien con la versión gratuita de Visual Studio 2005, Visual Web Developerhttp: / / msdn.microsoft.com / vstudio / express / vwd /. En este tutorial vamos a empezar desde el principio y crear la capa de acceso a datos (DAL), seguido por la creación de la capa de lógica empresarial (BLL) en la segunda tutoría, y trabajando en el diseño de página y la navegación en el tercero. Los tutoriales después de la tercera se basará en los fundamentos establecidos en los tres primeros. Tenemos mucho que cubrir en este primer tutorial, así que dispara a Visual Studio y vamos a empezar!
Paso 1: Crear un proyecto Web y conexión a la base de datos Antes de que podamos crear nuestra capa de acceso a datos (DAL), primero tenemos que crear un sitio web y la configuración de nuestra base de datos. Comience por crear un sistema de archivos basado en nuevo sitio web ASP.NET. Para lograr esto, vaya al menú Archivo y seleccione Nuevo sitio web, mostrando el nuevo sitio Web cuadro de diálogo. Elija la plantilla Sitio Web ASP.NET, establezca la ubicación de la lista desplegable Sistema de archivos, elija una carpeta para colocar el sitio web, y configurar el idioma de C #.
Figura 1. Crear un nuevo archivo basado en el sistema del sitio Web
Esto creará un nuevo sitio web con un
Default.aspx
página ASP.NET y un App_Data carpeta.
Con el sitio web creado, el siguiente paso es agregar una referencia a la base de datos en el Explorador de servidores de Visual Studio.Mediante la adición de una base de datos para el Explorador de servidores puede agregar tablas, procedimientos almacenados, vistas, etc, todo ello desde Visual Studio. También puede ver los datos de la tabla o crear sus propias consultas ya sea a mano o gráficamente a través del Generador de consultas. Además, cuando construimos los conjuntos de datos con tipo para el DAL tendremos que punto de Visual Studio para la base de datos de los que los conjuntos de datos con tipo se debe construir. A pesar de que puede proporcionar esta información de conexión en ese punto en el tiempo, Visual Studio rellena automáticamente una lista desplegable de las bases de datos ya registrados en el Explorador de servidores. Los pasos para agregar la base de datos Northwind al Explorador de servidores dependerá de si desea utilizar el servidor SQL Server 2005 Express Edition de base de datos en el App_Data carpeta o si tiene un Microsoft SQL Server 2000 o 2005, la configuración del servidor de base de datos que desea utilizar en su lugar.
Utilizando una base de datos en el App_Data Carpeta Si usted no tiene un servidor SQL Server 2000 o Server 2005 de base de datos para conectarse a, o simplemente quieres evitar tener que añadir la base de datos a un servidor de base de datos, puede utilizar el SQL Server 2005 Express Edition versión de la base de datos Neptuno que se encuentra en el sitio web de descarga de App_Data carpeta ( northwnd.mdf ). Una base de datos colocados en el App_Data carpeta se agregan automáticamente a la del Explorador de servidores. Asumiendo que tiene SQL Server 2005 Express Edition instalado en su máquina usted debe ver a un nodo llamado northwnd.mdf en el Explorador de servidores, que se puede expandir y explorar sus tablas, vistas, procedimientos almacenados, y así sucesivamente (ver Figura 2). El App_Data carpeta también puede tener Microsoft Access . mdb archivos, que, al igual que sus homólogos de SQL Server, se agregan automáticamente a la del Explorador de servidores. Si no desea utilizar cualquiera de las opciones de SQL Server, siempre se puededescargar puededescargar una versión de Microsoft Access del archivo de base de datos Northwind y caer en el App_Data directorio. Tenga en cuenta, sin embargo, que las bases de datos de acceso no son tan características como las de SQL Server, y no están diseñados para ser utilizados en los escenarios del sitio web. Además, un par de los 35 + tutoriales utilizará cierto nivel de base de datos de características que no son compatibles con el acceso.
Conexión a la base de datos en un servidor de Microsoft SQL Server 2000 o 2005 Server base de datos Alternativamente, usted puede conectarse a una base de datos Neptuno instalada en un servidor de base de datos. Si el servidor de base de datos no tiene ya la base de datos Northwind instalado, primero debe agregar el servidor de base de datos ejecutando el script de instalación incluido en la descarga de este tutorial o por la descarga de la versión SQL Server 2000 de Neptuno y el script de instalación directamente desde el sitio Web de Microsoft.
Una vez que haya instalado la base de datos, vaya al Explorador de servidores en Visual Studio, haga clic en el nodo Conexiones de datos y seleccione Agregar conexión. Si no ve el Explorador de servidores vaya al Explorador de Vista / Server, o pulse Ctrl + Alt + S.Con ello se abre el cuadro de diálogo Agregar conexión, en el que puede especificar el servidor para conectarse a la información de autenticación y el nombre de base de datos. Una vez que haya configurado correctamente la información de conexión de base de datos y hacer clic en el botón Aceptar, la base de datos se agrega como un nodo bajo el nodo Conexiones de datos. Puede expandir el nodo de base de datos para explorar sus tablas, vistas, procedimientos almacenados, y así sucesivamente.
Figura 2. Agregar una conexión de base de datos del servidor de bases de datos de Northwind
Paso 2: Creación de la capa de acceso a datos Cuando se trabaja con datos de una opción es integrar la lógica de los datos específicos directamente en la capa de presentación (en una aplicación web, las páginas ASP.NET representan la capa de presentación). Esto puede tomar la forma de escribir código de ADO.NET en la parte de código de la página ASP.NET o mediante el control SqlDataSource de la porción de marcado. En cualquier caso, este enfoque fuertemente a las parejas la lógica de acceso a datos con la capa de presentación. Lo que se recomienda, sin embargo, es separar la lógica de acceso a los datos de la capa de presentación. Esta capa separada se conoce como la capa de acceso a datos, DAL, para abreviar, y normalmente se implementa como un proyecto de bibliotecas de clase independiente. Los beneficios de esta arquitectura en capas están bien documentadas (ver "Otras lecturas", al final de este tutorial para obtener información sobre estas ventajas) y es el enfoque que tendrá en esta serie.
Todo el código que es específico para el origen de datos subyacente - como la creación de una conexión a la base de datos, la emisión de SELECCIONAR , INSERTAR , ACTUALIZAR y ELIMINAR comandos, etc - deben estar ubicados en el DAL. La capa de presentación no debe contener ninguna referencia a dicho código de acceso de datos, sino que debe hacer llamadas a la DAL para cualquier y todos los datos solicitados. Las capas de acceso a datos normalmente contienen métodos para acceder a los datos de base de datos subyacente.La base de datos Northwind, por ejemplo, tiene Productos y Categorías tablas que registran los productos para la venta y las categorías a las que pertenecen. En nuestro DAL tendremos métodos como: • • •
GetCategories (), que devuelven información acerca de todas las categorías GetProducts () , que devuelve información sobre todos los productos GetProductsByCategoryID ( IdCategoría ) , que devolverá todos los productos que
pertenecen a una categoría
•
GetProductByProductID ( productID )
particular
, que devuelve información sobre un producto en
Estos métodos, cuando se invoca, se conectará a la base de datos, ejecutar la consulta de su caso, y devolver los resultados. ¿Cómo podemos devolver estos resultados es importante. Estos métodos sólo puede devolver un DataSet o DataReader poblada por la consulta de bases de datos, pero los resultados idealmente estos deben ser devueltos con los objetos con establecimiento establecimiento inflexible . Un objeto con establecimiento inflexible es aquel cuyo esquema está rígidamente definido en tiempo de compilación, mientras que lo contrario, un objeto débilmente escrito, es un esquema que no se conoce hasta el tiempo de ejecución. Por ejemplo, el DataReader y DataSet (por defecto) son objetos vagamente escrito, ya que su esquema está definido por las columnas devueltas por la consulta de base de datos utilizada para poblarlas. Para acceder a una columna en particular a partir de una vagamente escrito DataTable tenemos que utilizar una sintaxis como: DataTable filas [. Índice ] [" columnName "] . Escribir suelta el DataTable en este ejemplo se demuestra por el hecho de que tenemos que acceder a nombre de la columna mediante una cadena o un índice ordinal. Un establecimiento inflexible de tipos DataTable, por el contrario, tendrá cada una de sus columnas implementan como propiedades, lo que resulta en el código que se ve así: DataTable . Filas [ índice ]. columnName . Para devolver los objetos con establecimiento inflexible, los desarrolladores pueden crear sus propios objetos de negocio personalizados o utilizar conjuntos de datos con tipo. Un objeto de negocio se lleva a cabo por el promotor como una clase cuyas propiedades suelen reflejar las columnas de la tabla de base de datos subyacente del objeto de negocio representa. Un DataSet es una clase generada para usted por Visual Studio basado en un esquema de base de datos y cuyos miembros son de tipado fuerte de acuerdo con este esquema. El DataSet se compone de clases que extienden el conjunto de datos ADO.NET, DataTable, DataRow y clases. Además de las tablas de datos con establecimiento inflexible, conjuntos de datos con tipo ahora también incluyen TableAdapters, que son clases con métodos para llenar el conjunto de datos de tablas de datos y la propagación de las modificaciones en la tablas de datos de vuelta a la base de datos. Nota Para obtener más información sobre las ventajas y desventajas del uso de conjuntos de datos con tipo en comparación con los objetos de negocio personalizados, consulte Diseño de componentes de niveles y traspaso de datos a través de éstos .
Vamos a utilizar conjuntos de datos con establecimiento inflexible de la arquitectura estos tutoriales. La Figura 3 muestra el flujo de trabajo entre las diferentes capas de una aplicación que utiliza conjuntos de datos con tipo.
Figura 3. Todos los datos de Código de Acceso es relegado a la DAL
Creación de un DataSet con tipo y el adaptador de la tabla Para empezar a crear nuestra DAL, se inicia mediante la adición de un DataSet a nuestro proyecto. Para lograr esto, haga clic derecho en el nodo del proyecto en el Explorador de soluciones y seleccione Agregar nuevo elemento. Seleccione la opción de conjunto de datos de la lista de plantillas y el nombre de Northwind.xsd .
Figura 4. Optar por añadir un nuevo conjunto de su proyecto Después de hacer clic en Agregar, cuando se le pide que agregue el conjunto de datos a la App_Code carpeta, seleccione Si. El Diseñador de DataSet se mostrará, y el Asistente para la configuración de TableAdapter se inicia, lo que le permite añadir su TableAdapter primero en el DataSet.
Un DataSet sirve como una colección con establecimiento inflexible de datos, sino que se compone de instancias de DataTable inflexible de tipos, cada uno de los cuales a su vez se compone de casos DataRow inflexible de tipos. Vamos a crear un establecimiento inflexible de tipos DataTable para cada una de las tablas de base de datos subyacente que tenemos que trabajar en esta serie de tutoriales.Vamos a empezar con la creación de un DataTable para los productos de mesa. Tenga en cuenta que DataTables inflexible de tipos no incluyen ninguna información sobre cómo acceder a los datos de la tabla de base de datos subyacente. Con el fin de recuperar los datos para llenar el DataTable, se utiliza una clase TableAdapter, que funciona como nuestra capa de acceso a datos. Para nuestros productos DataTable, TableAdapter contendrá los métodos - GetProducts () ,GetProductByCategoryID ( IdCategoría ) , y así sucesivamente - que vamos a invocar a partir de la capa de presentación. El papel del DataTable es la de servir como objetos con establecimiento inflexible utiliza para pasar datos entre las capas. El Asistente para la configuración de TableAdapter comienza le pedirá que seleccione qué base de datos para trabajar. La lista desplegable muestra las bases de datos en el Explorador de servidores. Si no añadir la base de datos Northwind al Explorador de servidores, puede hacer clic en el botón Nueva conexión en este momento para hacerlo.
Figura 5. Elegir la base de datos Northwind de la lista desplegable Después de seleccionar la base de datos y hacer clic en Siguiente, se le pedirá si desea guardar la cadena de conexión en elWeb.config archivo. Al guardar la cadena de conexión que va a evitar tener que codificado en las clases TableAdapter, lo que simplifica las cosas, si los cambios de cadena de conexión la información en el futuro. Si opta por guardar la
cadena de conexión en el archivo de configuración que es colocado en el sección, que puede ser opcionalmente encriptada para mayor seguridad o modificas fuera de plazo a través de la nueva página de ASP.NET 2.0 en propiedad de la herramienta de interfaz gráfica de administración de IIS, que es más ideal para los administradores.
Figura 6. Guardar la cadena de conexión en Web.config A continuación, tenemos que definir el esquema de la primera DataTable con establecimiento inflexible y dar el primer método para nuestro TableAdapter utilizar al rellenar el DataSet con tipos declarados. Estos dos pasos se llevan a cabo de forma simultánea mediante la creación de una consulta que devuelve las columnas de la tabla que queremos que se refleja en nuestro DataTable. Al final del asistente le daremos un nombre de método para esta consulta. Una vez que se ha logrado, este método puede ser invocado desde nuestra capa de presentación. El método se ejecutará la consulta definida y rellenar un DataTable con establecimiento inflexible. Para empezar a definir la consulta SQL, primero debemos indicar cómo queremos que el TableAdapter que ejecutar la consulta.Podemos utilizar una sentencia SQL ad-hoc, crear un nuevo procedimiento almacenado, o utilizar un procedimiento almacenado existente. Para estos tutoriales vamos a utilizar ad-hoc sentencias SQL. Se refieren a Brian Noyes artículo, construir una capa de acceso a datos con el Diseñador de DataSet de Visual Studio 2005 para ver un ejemplo del uso de procedimientos almacenados.
Figura 7. Consulta de los datos mediante una declaración ad hoc de SQL En este punto se puede escribir en la consulta SQL a mano. Cuando se crea el primer método en el TableAdapter que normalmente queremos tener el retorno consulta las columnas que deben ser expresados en la correspondiente DataTable. Podemos lograr esto mediante la creación de una consulta que devuelve todas las columnas y todas las filas de los Productos de la tabla:
Figura 8. Introduzca la consulta SQL en el cuadro de texto Como alternativa, utilice el Generador de consultas y gráficamente la construcción de la consulta, como se muestra en la Figura 9.
Figura 9. Crear la consulta de forma gráfica, a través del Editor de consultas Después de crear la consulta, pero antes de pasar a la siguiente pantalla, haga clic en el botón Opciones avanzadas. En proyectos de sitio web, "Generar instrucciones Insert, Update y Delete" es la única opción avanzada seleccionada por defecto, si se ejecuta este asistente desde una biblioteca de clases o un proyecto de Windows la opción "Usar concurrencia optimista" opción también serán seleccionados. Deja la opción "Usar concurrencia optimista" opción desactivada por el momento. Vamos a examinar la concurrencia optimista en futuros tutoriales.
Figura 10. Seleccione sólo la opción "Generar instrucciones Insert, Update y Delete" Opción Después de verificar las opciones avanzadas, haga clic en Siguiente para pasar a la pantalla final. Aquí se nos pide que seleccione cuáles son los métodos para agregar a la TableAdapter. Hay dos modelos para rellenar los datos: •
•
Llenar un DataTable - con este método es un método que se creó en un DataTable como parámetro, que se llena basándose en los resultados de la consulta. La clase DataAdapter de ADO.NET, por ejemplo, implementa este modelo con su relleno ()método. Devuelve una DataTable - con este enfoque, el método crea y llena el DataTable para usted y lo devuelve como el valor de retorno métodos.
Usted puede tener el TableAdapter implementar uno o ambos de estos patrones. También puede cambiar el nombre de los métodos establecidos aquí. Vamos a dejar las dos casillas marcada, a pesar de que sólo va a utilizar el patrón de esta última a través de estos tutoriales. Además, vamos a cambiar el nombre del lugar genérico GetData método para GetProducts . Si está activada, la casilla final, "GenerateDBDirectMethods," crea Insert () , Update () y Delete () los métodos de TableAdapter. Si deja esta opción sin marcar, todas las actualizaciones se deben hacer a través del TableAdapter único Update () método, que tiene en el DataSet, DataTable, un único objeto DataRow o una matriz de objetos DataRow. (Si ha desactivado la "Generar instrucciones Insert, Update y Delete" desde las propiedades avanzadas en la Figura 9 establecimiento de esta casilla no tendrá ningún efecto.) Vamos a dejar esta casilla seleccionada.
Figura 11. Cambiar el nombre del método de
GetData
para GetProducts
Complete el asistente, haga clic en Finalizar. Después se cierra el asistente que se devuelven al Diseñador de DataSet, lo que demuestra la DataTable que acabamos de crear. Usted puede ver la lista de columnas de la Productos DataTable ( ProductID , ProductName , y así sucesivamente), así como los métodos de la ProductsTableAdapter ( Fill () y GetProducts () ).
Figura 12. Los productos de DataTable y ProductsTableAdapter se han añadido al conjunto de datos con tipo En este momento tenemos un DataSet con un solo DataTable ( Northwind.Products ) y una clase DataAdapter inflexible de tipos (NorthwindTableAdapters.ProductsTableAdapter ) con un GetProducts () método. Estos objetos se pueden utilizar para acceder a una lista de todos los productos de código como: NorthwindTableAdapters.ProductsTableAdapter productsAdapter = new NorthwindTableAdapters.ProductsTableAdapter (); Northwind.ProductsDataTable productos; productos productsAdapter.GetProducts = (); foreach (Northwind.ProductsRow productRow en los productos) Response.Write ("del producto:" + + productRow.ProductName " ");
Este código no nos obligan a escribir un poco de acceder a los datos específicos del código. No tuvimos que crear una instancia de las clases ADO.NET, no tiene que referirse a cualquier tipo de cadena de conexión, las consultas SQL o procedimientos almacenados. En cambio, el TableAdapter proporciona el código de bajo nivel de acceso de datos para nosotros.
Cada objeto que se utiliza en este ejemplo es también inflexible de tipos, lo que permite que Visual Studio proporciona IntelliSense y en tiempo de compilación comprobación de tipos. Y lo mejor de todas las tablas de datos devueltos por el TableAdapter se puede enlazar a datos de ASP.NET Controles Web, tales como los controles GridView, DetailsView, DropDownList, CheckBoxList, y varios otros. El siguiente ejemplo ilustra la unión DataTable devuelto por el GetProducts () método a un GridView en tan sólo unos escasos tres líneas de código en el Page_Load controlador de eventos. AllProducts.aspx <% @ Page Language = "C #" AutoEventWireup = "true" CodeFile = "AllProducts.aspx.cs" Inherits = "todosProductos"%> Ver todos los productos en un GridView title> Head>