Professional Documents
Culture Documents
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008
2. Establecer la cadena de conexin en la seccion llamada ConnectionStrings del archivo de configuraciones. <connectionStrings> <add name="CnImportacionesNeptuno" connectionString="Data Source=.;Database=importacionesNeptuno;integrated security=true"/> </connectionStrings> Captulo VII Creacin de un catalogo virtual 3. Agregar una clase dentro del proyecto y asignar el nombre de MetodosProdu ctos.
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 4. Aparecera un mensaje indicando que se agregara una carpeta llamada App_Code.
5. Abrir la clase llamada MetodosProductos. Imports Microsoft.VisualBasic Public Class MetodosProductos End Class 6. Importar las siguientes librerias dentro de la clase. Imports System.Data.SqlClient Imports System.Data 7. Mtodo que obtiene la cadena de conexin. 'Metodo para Obtener la cadena de conexion Public Shared Function Conexion() As String Try Dim Leer As String = ConfigurationManager.ConnectionStrings("CnImportacionesNeptuno").ToString Return Leer Catch ex As Exception Throw ex End Try End Function 8. Crear un mtodo que nos permita mostrar el contenido de la tabla productos. 'Metodo que permite mostrar el contenido de la Tabla Productos Public Shared Function GetProductos() As DataTable Try Using cn As New SqlConnection(Conexion) Using da As New SqlDataAdapter("sp_ProductosSelectAll", cn) Dim dt As New DataTable Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 dt.Clear() da.Fill(dt) Return dt End Using End Using Catch ex As Exception Throw ex End Try End Function
'Se Crea 5 Variables Publicas compartidas Public Shared nombre As String Public Shared descripcion As String Public Shared precio As Decimal Public Shared Stock As Integer Public Shared imagen() As Byte
Public Shared Sub GetProductosSelectParameters(ByVal cod As Integer) Try 'se establece la cadena de conexion Using cn As New SqlConnection(Conexion) 'se establece el nombre del Objeto Using cmd As New SqlCommand("sp_ProductosSelect", cn) 'se indica el tipo de Objeto cmd.CommandType = 4 'se indica el nombre del parametro y el valor que toma el parametro cmd.Parameters.AddWithValue("@cod", codd) 'se crea un DataAdapter Dim da As New SqlDataAdapter(cmd) 'se crea una Tabla Dim dt As New DataTable 'se limpia la Tabla Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com Captulo VII Creacin de un catalogo virtual
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 dt.Clear() 'Se llena la Tabla da.Fill(dt) 'se determina si el numero total de filas es diferente a 0 If dt.Rows.Count <> 0 Then 'se llena a la variable Nombre con el valor de la primera fila de la columna NombreProducto nombre = dt.Rows(0).Item("NombreProducto") 'se llena a la variable descripcion con el valor de la primera fila de la columna CantidadPorUnidad descripcion = dt.Rows(0).Item("CantidadPorUnidad") 'se llena a la variable PrecioUnidad con el valor de la primera fila de la columna PrecioUnidad precio = dt.Rows(0).Item("PrecioUnidad") 'se llena a la variable UnidadesEnExistencia con el valor de la primera fila de la columna UnidadesEnExistencia Stock = dt.Rows(0).Item("UnidadesEnExistencia") 'se llena a la variable imagen con el valor de la primera fila de la columna imagen imagen = CType(dt.Rows(0).Item("image"), Byte()) Else 'en caso de que la tabla este vacia indicara un mensaje Throw New Exception("Producto No Encontrado") End If End Using End Using Catch ex As Exception Throw ex End Try Captulo VII Creacin de un catalogo virtual End Sub
'Metodo que devuelve el valor de una Consulta Public Shared Function GetProductosSelect(ByVal cod As Integer) As DataTable Try 'se establece la cadena de conexion Using cn As New SqlConnection(Conexion) 'se establece el nombre del Objeto
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 Using cmd As New SqlCommand("sp_ProductosSelect", cn) 'se indica el tipo de Objeto cmd.CommandType = 4 'se indica el nombre del parametro y el valor que toma el parametro cmd.Parameters.AddWithValue("@cod", cod) 'se crea un DataAdapter Dim da As New SqlDataAdapter(cmd) 'se crea una Tabla Dim dt As New DataTable 'se limpia la Tabla dt.Clear() 'Se llena la Tabla da.Fill(dt) Return dt End Using End Using Catch ex As Exception Throw ex End Try End Function
12. Metodo que devuelva el valor de los productos por Categoria. 'Metodo que devuelve los productos por Categoria Public Shared Function GetProductosSelectCategorie(ByVal cod As Integer) As DataTable Try 'se establece la cadena de conexion Using cn As New SqlConnection(Conexion) 'se establece el nombre del Objeto Using cmd As New SqlCommand("Select * from ProductosPorCategoria(" & cod & ")", cn) Dim da As New SqlDataAdapter(cmd) 'se crea una Tabla Dim dt As New DataTable 'se limpia la Tabla dt.Clear() 'Se llena la Tabla da.Fill(dt) Return dt End Using End Using Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 Catch ex As Exception Throw ex End Try End Function 13. Agregar una Clase y asignar el nombre de MetodosCategorias.
14. Abrir la clase. 15. Importar las siguientes libreras. Imports System.Data.SqlClient Imports System.Data 16. Crear un mtodo que permita obtener la cadena de conexin. 'Metodo para Obtener la cadena de conexion Public Shared Function Conexion() As String Try Dim Leer As String = ConfigurationManager.ConnectionStrings("CnImportacionesNeptuno").ToString Return Leer Catch ex As Exception Throw ex End Try Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com Captulo VII Creacin de un catalogo virtual
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 End Function 17. Crear un mtodo que nos permita mostrar el contenido de la tabla Categoras. Public Shared Function GetCategorias() As DataTable Try Using cn As New SqlConnection(conexion) Using da As New SqlDataAdapter("sp_CategoriasSelectAll", cn) Dim dt As New DataTable dt.Clear() da.Fill(dt) Return dt End Using End Using Catch ex As Exception Throw ex End Try End Function
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 26. Ejecutar la pagina (pulsar la tecla F5). 27. Aparecer un cuadro de dialogo donde indica que el archivo de configuraciones va hacer modificado. 28. Hacer clic en aceptar.
29. Como usted puede apreciar se visualiza el contenido del mtodo dentro del control ListBox.
30. crear una carpeta llamada imagenesproductos. 31. Seleccionar la carpeta, hacer clic derecho sobre dicha carpeta y seleccionar la opcion Agregar Elemento Existente.
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
10
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 32. Seleccionar todos los elementos que se encuentran dentro de la carpeta imgenesproductos (Solicitar la Carpeta al Instructor).
33. Como usted puede apreciar ahora la carpeta imagenesproductos contiene 77 imgenes. 34. Cada una de estas imgenes hace referencia a cada uno de los productos.
38. Agregar a las filas de la tabla los siguientes controles. Control Label Label Label Image Label Label HyperLink HyperLink ID Lblnombre Label2 Lblcodigo Image1 Label1 Label3 HyperLink2 HyperLink1 Text Codigo Eval("idproducto") Eval("imagen") Precio Eval("preciounidad") Pedir Detalles Propiedades Editar DataBinding Eval("nombreproducto")
NavigateUrl
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
11
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 39. Tiene que quedar tal como se muestra en la figura.
40. Declarar la siguiente variable a nivel de todo el formulario. Private dv As DataView 41. Dentro del Evento Load del formulario agregar el siguiente script. Try 'se indica si la carga de la pagina es nula If Page.IsPostBack = False Then lstCategorias.DataSource = MetodosCategorias.GetCategorias ' se utiliza la propiedad DataTextField, para mostrar una lista de nombres en el 'control lstCategorias.DataTextField = "NombreCategora" 'se utiliza la propiedad DataValueField, para asignar un valor a cada elemento mostrado Captulo VII Creacin de un catalogo virtual lstCategorias.DataValueField = "idCategora" 'Se utiliza el DataBind, para enlazar el control con el origen de datos lstCategorias.DataBind() End If 'se obtiene una replica de la Tabla GetProductos dv = New Data.DataView(MetodosProductos.GetProductos) 'se utiliza el rowFilter, para realizar la consulta a la Tabla dv.RowFilter = "preciounidad<9.5" 'se le asigna como origen de datos al control el DataView Me.DataList1.DataSource = dv.ToTable
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
12
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 'Se utiliza el DataBind, para enlazar el control con el origen de datos Me.DataList1.DataBind() Catch ex As Exception Response.Write(ex.Message) End Try 42. Seleccionar el control DataList. 43. Hacer clic en la etiqueta inteligente. 44. seleccionar la opcin propiedades de Diseo. 45. Seleccionar la categora General. Indicar el nmero de columnas que en este caso es 4. En direccin que sea vertical. En diseo indicar que sea de tipo Tabla.
46. Agregar debajo del control DataList el control GridView. 47. Asignar como nombre del control dgvproductos. 48. Digitar el siguiente Script dentro del evento SelectedIndexChanged del control lstCategorias. Try 'se realiza una consulta al DataView con el RowFilter 'esta consulta indica que el idcategoria es igual al elemento seleccionado 'del control lstcategorias dv.RowFilter = "idCategora = " + Me.lstCategorias.SelectedValue 'se asigna el origen de datos al control dgvproductos.DataSource = dv.ToTable() 'Se utiliza el DataBind, para enlazar el control con el origen de datos dgvproductos.DataBind() 'Se utiliza la propiedad false para ocultar el control DataList1.Visible = False Catch ex As Exception Response.Write(ex.Message) End Try 49. Crear una carpeta llamada imgenes. 50. Agregar imgenes a la carpeta. Captulo VII Creacin de un catalogo virtual
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
13
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008
53. Desactivar la opcion Generar Campos Automaticamente. 54. Agregar 5 campos BoundField. 55. Seleccionar el primer BoundField y asignar el siguiente formato. 56. En la propiead HeaderText asignar el nombre de Cod.
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
14
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008
58. Para los siguientes BoundFiled, asignar el siguiuente formato: Control BoundField BoundField BoundField BoundField HeaderText Nombre Descripcion Precio U. Stock Propiedades DataFiled nombreproducto cantidadporunidad preciounidad unidadesenexistencia
DataFormatString
{0:N1}
59. Agregar el Campo CommadField > Seleccionar. 60. Seleccionar el Campo Seleccionar y en la porpiedad ButtonType seleccionar la opcion Image. Captulo VII Creacin de un catalogo virtual Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
15
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 61. Seleccionar el Campo Seleccionar y en la porpiedad SelectImageUrl seleccionar una imagen de la carpeta imgenes con el nombre de pedir.jpg (solicitar la imagen al Instructor).
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
16
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 70. Hacer clic en la etiqueta inteligente y seleccionar Editar Plantillas.
71. Se tiene que mostrar una plantilla tal como se muestra en la figura.
72. Esta plantilla nos permite insertar cualquier control. 73. Agregar a la plantilla un TextBox. 74. Seleccionar el TextBox y en la propiedad ID asignar el nombre de txtcantidad.
75. Hacer clic en la etiqueta inteligente y seleccionar la opcin Terminar Edicin de plantilla. 76. Ejecutar la Pagina (Pulsar la Tecla F5). 77. Seleccione cualquiera de las categoras. 78. Como usted podr observar ahora dentro del GridView se encuentra un TextBox. Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
17
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
18
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 Label Image Label Label Label Label HyperLink Lblcodigo Image1 Label1 Label3 Label4 Label6 HyperLink1 Pedir Stock Eval("unidadesenExistencia") Precio Eval("preciounidad") Eval("idproducto") Eval("imagen")
87. Digitar el siguiente cdigo dentro del Evento Load de la pgina detalleProducto.aspx. T ry Captulo VII Creacin de un catalogo virtual 'se utiliza el Try/catch, para el tratamiento de errores If Request.QueryString("Codigo") <> "" Then Dim cod As Integer = Convert.ToInt32(Request.QueryString("codigo")) Me.DataList1.DataSource = CapaDatos.MetodosProductos.GetProductosSelect(cod) Me.DataList1.DataBind() Else 'en caso de que ocurra algun error la pagina nos direcciona 'a la pagina ListaProductos.aspx Response.Redirect("ListaProductos.aspx") End If
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
19
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 Catch ex As Exception Response.Write(ex.Message) End Try
90. Como usted puede observar, se muestra en forma automatica un listado de productos. Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
20
Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 91. Sealar el Hipervinculo Detalles.
Dejar el puntero del mouse sobre el Hipervnculo 92. Como usted podra obasevar en la barra de estado se muestra un valor, este valor representa al valor del parametro.
93. Quiere decir del que el parametro tiene el Valor de 13. 94. Hacer clic en el Hipervinculo Detalles. 95. Como uste dpodra observar fue enviado a la pagina detalleProducto.aspx. 96. El producto que nos muestra en esta pagina es el producto con el codigo 13. 97. Como usted recordara la consulta que se realizo en el Evento Load del formulario Web, igual al Campo IdProducto a la Variable de Parametro.
Instructor: Cueva Valverde Diego Alberto (MCTS DCEP DCEG DCE Microsoft) dce.diegocueva@gmail.com
21