Está en la página 1de 38

UNAC

Ing.Osmart Morales Chalco

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA DE SISTEMAS

LENGUAJE DE PROGRAMACION III


EJEMPLO 1

UNAC

Ing.Osmart Morales Chalco

Partial Class Alumno Inherits System.Web.UI.Page Protected Sub btnCalcular_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalcular.Click Dim N1, N2, N3, Prom As Single N1 = Single.Parse(txtN1.Text) N2 = Single.Parse(txtN2.Text) N3 = Single.Parse(txtN3.Text) Prom = (N1 + N2 + N3 * 2) / 4 Me.txtPromedio.Text = Prom.ToString If Prom >= 14 Then lblMensaje.Text = "Aprobado" ElseIf Prom > 11 Then lblMensaje.Text = "Sustitutorio" Else lblMensaje.Text = "Llevar de nuevo" End If End Sub Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNuevo.Click txtCodigo.Text = "" txtNombre.Text = "" txtCurso.Text = "" txtN1.Text = "" txtN2.Text = "" txtN3.Text = "" txtPromedio.Text = "" lblMensaje.Text = "" txtCodigo.Focus() End Sub End Class

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 2
RepeatDirection = Horizontal (esta propiedad sale un solo radiobutton, pero al incrementar Se incrementa para la derecha) Items = coleccin (esta propiedad hace que se incrementen los radiobutton) Se coloca los nombres en text=masculino y value=masculino

UNAC

Ing.Osmart Morales Chalco

Partial Class Empleado Inherits System.Web.UI.Page Protected Sub Calcular(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Tot, Imp1, Imp2 As Single Select Case lstCargo.SelectedIndex Case 0 : Tot = 4000 Case 1 : Tot = 3000 Case 2 : Tot = 1200 Case 3 : Tot = 1000 End Select Select Case ddlEstado.SelectedIndex Case 0 : Tot+ = 0 Case 1 : Tot+ = 50 Case 2 : Tot+ = 30 Case 3 : Tot+ = 70 End Select If rbnSexo.Items(0).Selected Then Tot += 80 ElseIf rbnSexo.Items(1).Selected Then Tot += 70 End If If chkRenta.Items(0).Selected Then Imp1 = Tot * 0.1 Else Imp1 = 0 End If If chkRenta.Items(1).Selected Then Imp2 = Tot * 0.02 Else Imp2 = 0 End If txtTotal.Text = (Tot - (Imp1 + Imp2)).ToString("n2") End Sub End Class

UNAC

Ing.Osmart Morales Chalco

EJEMPLO3

En la propiedad AllowPaging =true para que salga por paginas y pagisize=9 (se muestra 9 registros por pagina)

Imports System.Data Imports System.Data.SqlClient Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim Cnx As New SqlConnection("uid=sa;server=.;database=Northwind") Dim Dap As New SqlDataAdapter("Select ProductId,ProductName,UnitPrice,UnitsInStock From Products", Cnx) Dim Dst As New DataSet Dap.Fill(Dst, "Productos") grdproducto.DataSource = Dst.Tables("productos") grdProducto.DataBind() End Sub

UNAC

Ing.Osmart Morales Chalco

Esta opcion Es para darle un Formato al GridView

Hacer dobleclic en GridView y luego buscar el evento


PageIndexChanging para controlar el uso de las paginas

Alinear el texto a la izquierda en el

GridView propiedades Font-HorizontalAlignLeft

Protected Sub grdproducto_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles grdproducto.PageIndexChanging grdproducto.PageIndex = e.NewPageIndex grdproducto.DataBind() End Sub

UNAC

Ing.Osmart Morales Chalco

Ejemplo 4: mostrar todos los productos por categoria Imports System.Data Imports System.Data.SqlClient Partial Class _Default Inherits System.Web.UI.Page Private Private Private Private Cnx As New SqlConnection("uid=sa;server=localhost;database=Northwind") Dap As New SqlDataAdapter("Select * From Categories", Cnx) dst As New DataSet vista As New DataView

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) H Dap.Fill(dst, "Categorias") If Not Page.IsPostBack Then With ddlCategoria .DataSource = dst.Tables("Categorias") .DataTextField = "CategoryName" .DataValueField = "CategoryID" .DataBind() End With End If Dap.SelectCommand.CommandText = "Select ProductId,ProductName,CategoryId,UnitPrice,UnitsInStock From Products" Dap.Fill(dst, "Productos") vista = dst.Tables("Productos").DefaultView Vista.RowFilter = "CategoryID=" & ddlCategoria.SelectedItem.Value grdproducto.DataSource = Vista grdProducto.DataBind() 'en el combo ddlCategoria cambiar la propiedad autopostback=true para poder hacer el filtro End Sub End Class

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 4: 1.- crear un nuevo proyecto web 2.- Agregamos un nuevo elemento Llamado pagina principal o un Masterpage

Plantillas en Asp.Net
El masterpage cuando se ejecuta ( F5 ) no carga por ser una plantilla, tengo que crear un formulario y a aadirlo al masterpage para verlo

3.- Me ubico dentro de la plantilla Masterpage


- DISENO - INSERTAR TABLA - PLANTILLA

Plantilla= Encabezado y pie de Pagina . Puedo escoger el formato deseado

UNAC

Ing.Osmart Morales Chalco

4.-

Despus De Crear Mi Plantilla Dentro De Mi Masterpage , elaboro mi diseo ( banner, men, cuerpo), creo un Nuevo elemento llamado CONTROL DE USUARIO

Despus Le Agrego Este Cdigo, Que Se Encuentra En Archivo De Texto A Mi Archivo Headerweb.Ascx. Este archivo se encuentra solo con una lnea de cdigo

Si notan hay algunos errores porque falta la carpeta imgenes con sus fotos. Para solucionar hay que arrastras la carpeta images dentro del proyecto

UNAC

Ing.Osmart Morales Chalco

Despus de pasar la carpeta images, el elemento Headerweb.Ascx que se encuentra


en el explorador de soluciones lo arrastro hacia el banner de la pgina (ver imagen) pero el banner queda en el centro le doy en la propiedad de la tabla valingn=top para ajustarlo en la parte superior

5.-

El Siguiente Paso Lo Hago Con El Archivo Footerweb.Aspx


- LO CREO FooterWeb - LE INSERTO EL CODIGO - LO ARRASTRO Y ME QUEDA ASI.........

UNAC

Ing.Osmart Morales Chalco

El elemento Footerweb.Aspx que se encuentra en el explorador de soluciones lo arrastro hacia el banner de la pgina (ver imagen)

6.- El Siguiente Paso Nos Faltara Agregar El Men Vertical Categora Y Productos ME VOY ME DIRIJO A MASTERPAGE Y LE AGREGO EL SIGUIENTE CODIGO - LO CREO MenuHTM.ascx - LE INSERTO EL CODIGO - LO ARRASTRO Y ME QUEDA ASI.........

UNAC

Ing.Osmart Morales Chalco

valingn=top Para ajustar el men hacia la parte de arriba

7.- Para mejorar el diseo de la pgina(es para que se vea mejor el texto, color de fondo), pasar el siguiente estilo qsstyle.css al explorador de soluciones y luego arrastrarlo hacia la plantilla.

UNAC

Ing.Osmart Morales Chalco

8.- SI LO EJECUTO NO VEO NADA, QUE FALTA CREAR UN FORMULARIO WEB, COLOCAR EL NOMBRE DEL FORM SELECCIONA LA OPCION SELECCCIONAR PAGINA PRINCIPAL y ESCOGE EL MASTERPAGE QUE QUIERAS

UNAC

Ing.Osmart Morales Chalco

10.- LO ULTIMO ES ME UBICO EN EL MATERWEB Y LO DIRECCION A MIS NUEVOS FORMULARIOS

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 5: 1.- crear un nuevo proyecto web 2.- Agregamos un nuevo elemento Llamado pagina principal o un Masterpage

Plantillas en Asp.Net
El masterpage cuando se ejecuta ( F5 ) no carga por ser una plantilla, tengo que crear un formulario y a aadirlo al masterpage para verlo

3.- creamos una tabla de filas=4 columnas =4

UNAC

Ing.Osmart Morales Chalco

4.- insertamos en el banner 4 imgenes

En la propiedad=Imageurl inserta la imagen

5.- insertar el men. Propiedades: Menu Orientacin=Horizontal, BackColor=Amarillo, ForeColor=Rojo

UNAC

Ing.Osmart Morales Chalco

Para editar el menu, nos ubicamos en el borde de menu y le damos editar elementos del menu y agregamos los elementos en las propiedades text=Quienes Somos y value= Quienes Somos

Tambin para agregar elementos en el men propiedades: Items=Coleccin

UNAC

Ing.Osmart Morales Chalco

6.- Insertar los siguientes objetos ( label y TreeView)

Propiedades: TreeView Nodes=(coleccin)agregar elementos ImageSet=Contacts.agrega los smbolos como el Messenger, Height=152 px. Da una separacin entre la lista de los menu.

7. Lista la plantilla para enlazarla con los otros formularios web

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 6:

CONTROLES DE VALIDACION

Este grupo de controles nos permite validar la entrada dada por el usuario a traves de los controles de un WebForm, esta validacin se puede realizar en el cliente y en el servidor, ASP.NET, nos ofrece 6 controles de Validacin 1 - Requiredfieldvalidator : Este control valida que se ha rellenado un campo con un valor, es decir valida, los campos requeridos 2 - CustomValidator : Se Utilizara para realizar Validaciones personalizadas, este control llamara a una funcin definida por el usuario que ser la que realice la validacin. propiedades: 1.-ClientValidationFunction Indicaremos el nombre de la funcin del lado del cliente, en este caso la funcin ser desarrollada en un lenguaje Script. 2.-OnServerValidate Debemos la funcin del servidor que se va a encargar de la validacin correspondiente, esta funcin se ejecutara cuando se produzca el evento ServerValidate Requiredfieldvalidator ID=rfvnombre : Controltovalidate=txtnombre Errormessage=El nombre es Obligatorio Text=*

CustomValidator ID= Cuvnombre Controltovalidate=txtnombre Errormessage=El nombre es demasiado corto Text=* Nota: doble click para programarlo

Protected Sub cuvtxtnombre_ServerValidate(ByVal source As Object, ByVal argsuvtxtnombre.ServerValidate If args.Value.Length < 5 Then args.IsValid = False Else args.IsValid = True End If End Sub

UNAC

Ing.Osmart Morales Chalco

3 - RangeValidator : Este control se utilizara cuando deseamos comprobar si un valor de entrada de un control Web se encuentra comprendido en un rango determinado 4 - CompareValidator : Este control lo utilizaremos para comparar el valor que contiene un control WEB con un valor especifico, que puede ser un valor determinado como una constante o bien un valor de otro control web

Propiedades: ValueToCompare - Se utiliza cuando deseamos comparar el valor del control WEb con un valor constante, esta propiedad tendra el valor constante ControlToCompare - cuando deseamos comparar el control WEB con otro control WEB Type - Indica el tipo de dato de los valores que se van a comparar, esta propiedad puede ser Currency, Date, Double, Integer y String Operator: Equal(igual) GreaterThan(Mayor) GreaterThanEqual(mayor o Igual) LessThan(Menor) LessThanEqual(menor o igual) NotEqual(distinto) DataTypeCheck(Validacion Tipo)

RangeValidator ID=rvedad : Controltovalidate=txtedad Errormessage=Entre 18 y 100 Text=* Type=Integer MaximunValue=100 MinimunValue=18

CompareValidator ID= Cvfecha Controltovalidate=txtfecha Errormessage=Fecha incorrecta Operator=DataTypeCheck Type=Date Text=* Nota: doble click para programarlo

UNAC

Ing.Osmart Morales Chalco

5 - RegularExpressionValidator : este control de validacin es utilizado para comparar el valor del control correspondiente con una expresin regular. Este control debe hacer uso de la propiedad RegularExpressionValidator para indicar la expresin regular con la que se va a comparar el valor indicado en el control Web. CompareValidator ID=cvpassword Controltovalidate=txtpassword Controltocompare=txtconfirmar Operator=equal Type=String Errormessage=el password no coincide Text=* Nota: en la caja de texto modificar la propiedad Textmode= Password RegularExpressionValidator ID=revtelefono : Controltovalidate=txttelefono Errormessage=incorrecto Text=* ValidationExpression= RegularExpressionValidator ID=revemail : Controltovalidate=txttemail Errormessage=incorrecto Text=* ValidationExpression=

\d{2}-\d{3}-\d{4}

6 - ValidationSummary : Este control difiere del resto, ya que en realidad no va a realizar un tipo de validacion determinada, sino que contiene todos los mensajes de error que se han producido y muestra una lista de ellos en la pagina(los cuales hallan fallado) Propeidades : * HeaderText - Contendra el texto que va a mostrarse como cabecera a modo de descripcion de errores * ShowSummary - que puede tener los valores true o false,. Indicara si deseamos mostrar o no el resumen de validacion de la pagina * DisplayMode - La forma en la que se va a mostrar las distintas descripciones de cada uno de los errores de validacion encontrados en la pagina, pueden ser : BulletList(una lista con puntos), List(una LIsta) y SingleParagraph(un unico parrafo)

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 6:
Txtcodigo , Txtnombre, Txtapellido, Txtdireccion, txtclave btnLimpiar, btnAgregar, btneliminar, btnModificar Grdcliente

create database dbsistemas create table clientes (codigo int primary key identity(1,1) not null, nombre varchar(25), apellidos varchar(25), direccion varchar(60), clave char(5))

Imports System.Data Imports System.Data.SqlClient Partial Class cliente Inherits System.Web.UI.Page Private Cnx As New SqlConnection("Data Source=.;Initial Catalog=dbsistemas;Integrated Security=True") Private Dap As New SqlDataAdapter("usp_cliente_Listar", Cnx) Private dst As New DataSet Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load mostrar() End Sub

CREATE PROCEDURE usp_cliente_Listar AS SELECT codigo, nombre, apellidos, direccion, clave FROM clientes

UNAC

Ing.Osmart Morales Chalco

Protected Sub btnlimpiar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnlimpiar.Click limpiar() End Sub Private Sub limpiar() txtcodigo.Text = "" : txtapellido.Text = "" txtnombre.Text = "" : txtclave.Text = "" txtdireccion.Text = "" End Sub Private Sub mostrar() dst.Clear() Dap.Fill(dst, "cliente") grdcliente.DataSource = dst.Tables("cliente") grdcliente.DataBind() End Sub

CREATE PROCEDURE usp_cliente_Adicionar @nombre varchar(25), @apellidos VARCHAR(25), @direccion varchar(60), @clave CHAR(5) AS INSERT INTO clientes(nombre,apellidos,direccion,clave) VALUES (@nombre,@apellidos,@direccion,@clave)

Protected Sub btnagregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnagregar.Click Dim cmd As New SqlCommand("usp_cliente_Adicionar", Cnx) With cmd .CommandType = CommandType.StoredProcedure .Parameters.Add("nombre", txtnombre.Text) .Parameters.Add("apellidos", txtapellido.Text) .Parameters.Add("direccion", txtdireccion.Text) .Parameters.Add("clave", txtclave.Text) End With Try Cnx.Open() cmd.ExecuteNonQuery() Catch ex As Exception lblerror.Text = "Error" & ex.Message Finally Cnx.Close() limpiar() : mostrar() End Try End Sub

UNAC

Ing.Osmart Morales Chalco

Private Sub llenardesdedrid() With dst.Tables("cliente").Rows(grdcliente.SelectedIndex.ToString) txtcodigo.Text = .ItemArray(0) txtnombre.Text = .ItemArray(1) txtapellido.Text = .ItemArray(2) txtdireccion.Text = .ItemArray(3) txtclave.Text = .ItemArray(4) End With End Sub Protected Sub grdcliente_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdcliente.SelectedIndexChanged llenardesdedrid() End Sub

UNAC

Ing.Osmart Morales Chalco

Protected Sub Btneliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btneliminar.Click Dim cmd As New SqlCommand("usp_cliente_eliminar", Cnx) With cmd .CommandType = CommandType.StoredProcedure .Parameters.Add("codigo", txtcodigo.Text) End With CREATE PROCEDURE usp_cliente_eliminar Try @codigo int Cnx.Open() AS cmd.ExecuteNonQuery() DELETE FROM clientes where codigo=@codigo Catch ex As Exception lblerror.Text = "Error" & ex.Message Finally Cnx.Close() limpiar() : mostrar() End Try End Sub Protected Sub btnmodificar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnmodificar.Click Dim cmd As New SqlCommand("usp_cliente_Actualizar", Cnx) With cmd .CommandType = CommandType.StoredProcedure .Parameters.Add("codigo", txtcodigo.Text) .Parameters.Add("nombre", txtnombre.Text) .Parameters.Add("apellidos", txtapellido.Text) .Parameters.Add("direccion", txtdireccion.Text) CREATE PROCEDURE usp_cliente_actualizar End With @codigo int, Try @nombre varchar(25), Cnx.Open() @apellidos VARCHAR(25), cmd.ExecuteNonQuery() @direccion varchar(60) Catch ex As Exception AS lblerror.Text = "Error" & ex.Message UPDATE clientes SET Finally nombre=@nombre,apellidos=@apellidos, Cnx.Close() direccion=@direccion limpiar() : mostrar() where codigo=@codigo End Try End Sub End Class

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 7:

Control:

DetailsView

Fieldheaderstyle(A linear a la izquierda horizontal=left

UNAC

Ing.Osmart Morales Chalco

EJEMPLO 8: Se muestra primero el listado del personal, cada vez que selecciono un empleado por cdigo, pasa al siguiente formulario de
mantenimiento Nota: Normalmente siempre hacemos la conexin de esta manera
Dim cn As New SqlConnection("database=northwind;Server=.;User ID=sa"), pero esta manera va ser diferente Lo vamos ha realisar en el web.config..veamoslo. Forma Normal: <configuration> <appSettings/> <connectionStrings/> <system.web> Ejemplo 6 <configuration> <appSettings> <add key="Conexion" value="uid=sa;server=.;database=northwind"/> </appSettings> <connectionStrings/> <system.web> Web_Form ListaEmpleados.aspx Partial Class ListaEmpleados Inherits System.Web.UI.Page Proyecto General Osmart.Net

Donde primero se tiene que programar en el Proyecto General en el web.config, para que en la clase no se ponga la ruta de la base de datos se pone (Conexin)

Es el primer formulario donde se muestra el listado del personal.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim objX As New ClsEmpleado grdEmpleado.DataSource = objX.EmpleadoListar grdEmpleado.DataBind() End Sub End Class

UNAC

Ing.Osmart Morales Chalco

Propiedad Columns=(coleccin) para darle los nombres de los ttulos campos del GridView1 como Cdigo, Apellido, Nombre y Cargo, adems hay que configurar los campos para que cuando haga un click en campo del cdigo se habr una nuevo formulario donde se va poder agregar a los nuevos empleados

UNAC

Ing.Osmart Morales Chalco

HyperLink: Apariencia: HearderText=Codigo Datos DataNav... =Employeeid DataNav =DatosEmpleado.aspx?cod={0} DataTextFields=Employeeid..

El primer campo es de tipo HyperLink: porque va


acceder al nuevo formulario de mantenimiento

Quitar el CHECK
BoundField: Apariencia: HearderText=Apellido Datos DataTextFields=LastName

UNAC

Ing.Osmart Morales Chalco

Web_Clase clsempleado.vb
Imports system.Data Imports System.Data.SqlClient Public Class ClsEmpleado Public Function EmpleadoListar() As DataTable Dim Cnx As New SqlConnection(ConfigurationManager.AppSettings.Get("conexion")) Dim Dap As New SqlDataAdapter("usp_Empleado_Listar", Cnx) Dim dst As New DataSet Dap.Fill(dst, "Empleados") Return dst.Tables("Empleados") End Function Public Function EmpleadoDatos(ByVal vEmployeeid As Integer) As SqlDataReader Dim Cnx As New SqlConnection(ConfigurationManager.AppSettings.Get("Conexion")) Dim cmd As New SqlCommand("usp_Empleado_Datos", Cnx) With cmd Create PROCEDURE usp_Empleado_Datos @Employeeid int .CommandType = CommandType.StoredProcedure AS .Parameters.Add("@Employeeid", SqlDbType.Int).Value = vEmployeeid SELECT EmployeeID, LastName, FirstName, Title End With FROM Employees WHERE Cnx.Open() EmployeeID=@Employeeid Dim dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.SingleRow) Return dr End Function CREATE PROCEDURE usp_Empleado_Listar AS SELECT EmployeeID, LastName, FirstName, Title FROM Employees

UNAC

Ing.Osmart Morales Chalco

Public Sub EmpleadoAdicionar(ByVal vLastname As String, ByVal vFirstname As String, ByVal vTitle As String) Dim Cnx As New SqlConnection(ConfigurationManager.AppSettings.Get("Conexion")) Dim cmd As New SqlCommand("usp_Empleado_Adicionar", Cnx) With cmd .CommandType = CommandType.StoredProcedure .Parameters.Add("@Lastname", SqlDbType.VarChar, 20).Value = vLastname .Parameters.Add("@Firstname", SqlDbType.VarChar, 10).Value = vFirstname .Parameters.Add("@Title", SqlDbType.VarChar, 50).Value = vTitle End With CREATE PROCEDURE usp_Empleado_Adicionar Try @Lastname varchar(20), Cnx.Open() @Firstname VARCHAR(10), cmd.ExecuteNonQuery() @Title varchar(50) Cnx.Close() AS Catch ex As Exception Insert into Employees(Lastname,Firstname,Title) Throw ex values(@Lastname,@Firstname,@Title) End Try End Sub Public Sub EmpleadoActualizar(ByVal vEmployeeid As Integer, ByVal vLastname As String, ByVal vFirstname As String, ByVal vTitle As String) Dim Cnx As New SqlConnection(ConfigurationManager.AppSettings.Get("Conexion")) Dim cmd As New SqlCommand("usp_Empleado_Actualizar", Cnx) With cmd .CommandType = CommandType.StoredProcedure .Parameters.Add("@Employeeid", SqlDbType.Int).Value = vEmployeeid .Parameters.Add("@Lastname", SqlDbType.VarChar, 20).Value = vLastname .Parameters.Add("@Firstname", SqlDbType.VarChar, 10).Value = vFirstname .Parameters.Add("@Title", SqlDbType.VarChar, 50).Value = vTitle End With Create PROCEDURE usp_Empleado_Actualizar Try @Employeeid int, Cnx.Open() @Lastname varchar(20), cmd.ExecuteNonQuery() @Firstname VARCHAR(10), Cnx.Close() @Title varchar(50) Catch ex As Exception AS Throw ex Update Employees set Lastname=@Lastname, End Try Firstname=@Firstname, Title=@Title End Sub Where Employeeid=@Employeeid

UNAC

Ing.Osmart Morales Chalco

Public Sub EmpleadoEliminar(ByVal vEmployeeid As Integer) Dim Cnx As New SqlConnection(ConfigurationManager.AppSettings.Get("Conexion")) Dim cmd As New SqlCommand("usp_Empleado_Eliminar", Cnx) With cmd .CommandType = CommandType.StoredProcedure .Parameters.Add("@Employeeid", SqlDbType.Int).Value = vEmployeeid End With Try CREATE PROCEDURE usp_Empleado_Eliminar Cnx.Open() @Employeeid int cmd.ExecuteNonQuery() AS Cnx.Close() Delete from Employees Catch ex As Exception Where Employeeid=@Employeeid Throw ex End Try End Sub End Class

Txtcodigo , Txtapellido, Txtnombre, Txtcargo

Nos falta programar dentro de nuestro formulario DatosEmpleado.aspx

btnAdicionar, btnactualizar, btneliminar, btnnuevo

UNAC

Ing.Osmart Morales Chalco

Web_Form DatosEmpleado.aspx(Formulario 2)
Imports System.Data.SqlClient Partial Class DatosEmpleado Inherits System.Web.UI.Page Private objX As New ClsEmpleado Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then Dim Codigo As String = Request.QueryString("cod") Dim dr As SqlDataReader = objX.EmpleadoDatos(Integer.Parse(Codigo)) dr.Read() txtcodigo.Text = dr(0) txtapellido.Text = dr(1) txtnombre.Text = dr(2) txtcargo.Text = dr(3) dr.Close() End If End Sub Protected Sub btnAdicionar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdicionar.Click Try objX.EmpleadoAdicionar(txtapellido.Text, txtnombre.Text, txtcargo.Text) Server.Transfer("ListaEmpleados.aspx") Catch ex As Exception lblerror.Text = ex.Message End Try End Sub

Llamar a la clase ClsEmpleado

UNAC

Ing.Osmart Morales Chalco

Protected Sub btnactualizar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnactualizar.Click Try objX.EmpleadoActualizar(Integer.Parse(txtcodigo.Text), txtapellido.Text, txtnombre.Text, txtcargo.Text) Server.Transfer("ListaEmpleados.aspx") Catch ex As Exception lblerror.Text = ex.Message End Try End Sub Protected Sub btneliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btneliminar.Click Try objX.EmpleadoEliminar(Integer.Parse(txtcodigo.Text)) Server.Transfer("ListaEmpleados.aspx") Catch ex As Exception lblerror.Text = ex.Message End Try End Sub Protected Sub btnnuevo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnnuevo.Click txtcodigo.Text = "" txtapellido.Text = "" txtnombre.Text = "" txtcargo.Text = "" End Sub End Class

UNAC

Ing.Osmart Morales Chalco

EJEMPLOS 9: CONTROL : LOGIN Insertamos una tabla de uno x uno para luego insertar el control login
Partial Class iniciouser Inherits System.Web.UI.Page Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As ntArgs) Handles Login1.Authenticate If validaruser.validarusuario(Login1.UserName, Login1.Password) Then Server.Transfer("cliente.aspx") Else Login1.FailureText = "Acceso Denegado" End If End Sub End Class

Imports System.Data Imports System.Data.SqlClient Public Class validaruser Public Shared Function validarusuario(ByVal xuser As String, ByVal xpass As String) As Boolean Dim Cnx As New SqlConnection("Data Source=.;Initial Catalog=neptuno;Integrated Security=True") Dim Dap As New SqlDataAdapter("select * from Empleados where nombre='" & xuser & "' and extensin='" & xpass & "'", Cnx) Dim dst As New DataSet Dap.Fill(dst, "usuario") If dst.Tables("usuario").Rows.Count > 0 Then Return True Else Return False End If End Function End Class

UNAC

Ing.Osmart Morales Chalco

SERVICIOS WEB
Eliminamos el archivo Service.vb y service.asmx para crearlos otra vez con el nombre northwind.asmx Direccionar una ruta Marcar Servicio Web

Despus de crear nuestro servicio web comenzamos a programar

UNAC

Ing.Osmart Morales Chalco

Servicio Web Northwind Imports Imports Imports Imports Imports System.Web System.Web.Services System.Web.Services.Protocols System.Data System.Data.SqlClient

<WebService(Namespace:="http://tempuri.org/", Description:="Administracion de datos de la BD Northwind")> _ <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Public Class Northwind Inherits System.Web.Services.WebService <WebMethod(Description:="Lista de Empleados")> _ Public Function ListaEmpleados() As DataSet Dim cnx As New SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True") Dim dap As New SqlDataAdapter("SELECT EmployeeID, LastName, FirstName, Title FROM dbo.Employees", cnx) Dim dst As New DataSet dap.Fill(dst, "Empleados") Return dst ' los sw no devuelve tabla sino dataset End Function End Class Servicio Web Poblacion

http://www.abundanttech.com/WebServices/Population/population.asmx Este serbio Web seda directamente desde internet

UNAC

Ing.Osmart Morales Chalco

Click derecho Agregar Referencia Web

Ruta del Servicio Web : http://localhost:49205/ServicioWEbUrl/Northwind.asmx http://www.abundanttech.com/WebServices/Population/population.asmx

GridView1

DropDownList1

Nombre de referencia Web se va a llamar Proxy que se encuentra en forma local y cuando se encuentra en un dominio en internet se va a llamar poblacion

TextBox1
Partial Class _Default Inherits System.Web.UI.Page Private obj As New poblacion.PopulationWS Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then Dim objsw As New proxy.Northwind Me.GridView1.DataSource = objsw.ListaEmpleados.Tables("empleados") Codigo dentro del GridView1.DataBind() formulario Web Dim pais() As String = obj.getCountries For Each x As String In pais DropDownList1.Items.Add(x) Next End If TextBox1.Text = obj.getPopulation(DropDownList1.Text).Pop End Sub : End Class