Professional Documents
Culture Documents
Web Forms
Controles Web
Controles de servidor
Se ejecutan directamente en el servidor
Sus tags o etiquetas estn escritas en XML
Controles HTML
Se les tiene que agregar funcionalidad con un script
Sus tags o etiquetas estn escritas en HTML
Qu es un Web Form?
<%@
<%@ Page
Page Language="vb"
Language="vb"
Codebehind="WebForm1.aspx.vb"
Codebehind="WebForm1.aspx.vb"
SmartNavigation="true"%>
SmartNavigation="true"%>
<html>
<html>
<body
<body ms_positioning="GridLayout">
ms_positioning="GridLayout">
<form
<form id="Form1"
id="Form1" method="post"
method="post" runat="server">
runat="server">
</form>
</form>
Caractersticas
Web Forms Aplicaciones:
Se basan en la tecnologa ASP.NET para crear una
potente herramienta programable pginas.
Ejecutar en cualquier navegador y hacer que
automticamente el correcto, browser- cdigo HTML
compatible para funciones tales como estilos y diseo
En el explorador de soluciones se
visualizar el proyecto creado
Controles Web
Hay tres tipos de controles de servidor:
Controles de servidor HTML - etiquetas HTML
tradicionales
Controles de servidor Web ASP.NET - Nuevas etiquetas
Controles de servidor de validacin - Para la validacin
de entrada
TextBox
El control TextBox se utiliza para crear un cuadro de texto.
Botn
Se utiliza para ejecutar un conjunto de eventos.
Controles de enlace de
datos( Databinding)
Son utilizados llenar las listas con elementos
seleccionables desde una fuente de datos importados.
asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:Listbox
DropDownList
Radiobuttonlist
Qu es es la validacin de entrada
de datos?
Verifica que el usuario ha introducido
correctamente el valor de un control
Bloquea el procesamiento de una pgina hasta
que todos los controles son vlidos
Evita el spoofing
o aadir
cdigo mal
intencionado
El usuario
introduce datos Mensaje
de error
Vlido?
No
Dependiente de la versin
del navegador
Cliente
S
Respuesta inmediata
Reduce los ciclos de
Servidor
postback
Vlido?
No
S
Aplicacin Web
procesada
Establecer propiedades
derunat="server"
validacin
<asp:TextBox
id="txtName"
/>
<asp:TextBox
id="txtName"
runat="server"
/>
<asp:Type_of_Validator
<asp:Type_of_Validator
id="Validator_id"
id="Validator_id"
runat="server"
runat="server"
ControlToValidate="txtName"
ControlToValidate="txtName"
ErrorMessage="Message_for_error_summary"
ErrorMessage="Message_for_error_summary"
Display="static|dynamic|none"
Display="static|dynamic|none"
Text="Text_to_display_by_input_control">
Text="Text_to_display_by_input_control">
</asp:Type_of_Validator>
</asp:Type_of_Validator>
Dinmico
CompareValidator
ValueToComparar o ControlToComparar
Type
Operator
RangeValidator
MinimumValue
MaximumValue
Type
Uso de el control
RegularExpressionValidator
Se utiliza cuando la entrada debe ajustarse a un
modelo predefinido
Visual Studio .NET incluye modelos para:
Nmeros de telfono
Cdigos postales
Direcciones electrnicas
<asp:RegularExpressionValidator
<asp:RegularExpressionValidator
ControlToValidate="US_PhoneNumber"
ControlToValidate="US_PhoneNumber"
ValidationExpression="
ValidationExpression="((\(\d{3}\)
((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}
?)|(\d{3}-))?\d{3}-\d{4} ""
>*</asp:RegularExpressionValidator
>*</asp:RegularExpressionValidator >>
Ejercicio
En el Tuvch se necesita validar el acceso a un sistema
de registro de usuarios.
Se requiere que a el usuario se le permita solamente 2
intentos y que valide que todos los campos estn
completados(RequiredValidator).
Si los datos son correctos desplegar un mensaje y
mandara a otro web form.
Conectividad a Base de
Datos
ADO.NET
Base de Datos
Qu es el Modelado de Datos?
Es un conjunto de conceptos que permite describir, a distintos niveles de
abstraccin, la estructura de una base de datos, a la cual denominamos
esquema.
Los Modelos de Datos se dividen en 3 niveles:
Conceptual
Realizacin de
un esquema o
diagrama
representativo
de la base de
datos
( Entidades,
relaciones y
atributos)
Lgico
Migracin de
Modelo
Conceptual al
modelo
relacional
( Diccionario de
datos , UML)
Fsico
Implementacin
del nivel lgico a
nivel fsico
( Script en un
SGB e
interactuar con
la aplicacin o
base de datos
relacional)
Nivel Conceptual
E-R
Nivel Lgico
Diccionario de datos
Contiene la informacin referente a la estructura
de la base de datos.
Modelado relacional
Dr. E. F. Codd propuso el modelo relacional de bases de
datos en 1970. Es la base para el sistema de gestin de
bases de datos relacionales (RDBMS). El modelo
relacional consiste en lo siguiente:
MODELO RELACIONAL
Modelo Relacional
Una base de datos relacional una coleccin de
tablas de datos que se describen formalmente y
organizado segn el modelo relacional. Cada tabla debe
identificar una columna o grupo de columnas, llamado
la clave primaria, para identificar de forma exclusiva
cada fila
Tablas
Una tabla de base de datos es una coleccin de filas y
columnas que se utiliza para organizar la informacin
sobre un solo tema. Cada fila de una tabla corresponde
a un solo registro y contiene varios atributos que
describen la fila.
Estas tablas se almacenan en bases de datos.
EmployeeID
LastName
FirstName
Department
100
Smith
Bob
IT
101
Jones
Susan
Marketing
102
Adams
John
Finance
Normalizacin
Proceso de organizar datos en una base de datos incluye
crear tablas y establecer relaciones entre las tablas de que
proceso se utiliza para ayudar a eliminar datos redundantes.
Order Details
ProdCat_ID
ProductID
Orders
Quantity
Price
Total
Accounts
AccountNumb
er
Address
PostCode
Orders
Quantity
Price
PostCode
PostCode
City
State
SQL Server
SQL Server
Arquitectura Cliente Servidor
SQL Server
Sistema Manejador de Base de Datos
Almacenamiento
Integridad de los datos
Seguridad
Acceso a los datos
Qu es SQL?
Definicin:
Definicin: SQL
SQL es
es un
un lenguaje
lenguaje estndar
estndar
de
de mercado
mercado que
que ha
ha evolucionado
evolucionado hasta
hasta
convertirse
en
el
medio
de
mayor
convertirse en el medio de mayor
aceptacin
aceptacin para
para realizar
realizar consultas
consultas yy
datos
en
de
modificar
datos
en una
una base
base
de datos
datos
modificar
Sintaxis de
instrucciones
SQL
habituales
Ejemplo
Lenguaje SQL
SQL Server
Formas de Autenticacin
Modo Windows Only
Cuenta Windows
Lo valida el sistema operativo
Modo Mixto
Cuenta de SQL Server
Lo valida el manejador de Base de Datos
Qu es ADO.NET?
Base de datos
Connection
Connection
Command
Command
DataAdapter
DataAdapter
DataSet
DataSet
DataReader
DataReader
Tipos de ambiente
Namespace
System.Data
Proporciona acceso a las clases que representan la
arquitectura de ADO.NET le permite compilar componentes
que administran eficazmente los datos de varios orgenes de
datos.
System.SqlClient
Describe una coleccin de clases que se utiliza para obtener
acceso a una base de datos de SQL Server en el espacio
administrado.
using System.Data;
using System.Data.SqlClient;
Crear la conexin
Uso de SqlConnection
Dim
DimstrConn
strConnAs
AsString
String=="data
"datasource=localhost;
source=localhost;""&&__
"initial
"initialcatalog=northwind;
catalog=northwind;integrated
integratedsecurity=true"
security=true"
Dim
conn
As
New
SqlConnection(strConn)
Dim conn As New SqlConnection(strConn)
string
stringstrConn
strConn=="data
"datasource=localhost;
source=localhost;""++
"initial
"initialcatalog=northwind;
catalog=northwind;integrated
integratedsecurity=true";
security=true";
SqlConnection
conn
=
new
SqlConnection(strConn);
SqlConnection conn = new SqlConnection(strConn);
Timeout de conexin
Fuente de datos
Catlogo inicial
Seguridad integrada
Contrasea
Persistir informacin
seguridad
Proveedor
ID de usuario
Crear un DataSet
DataSet
DataSetds
ds==new
newDataSet();
DataSet();
da.Fill(ds,
"Authors");
da.Fill(ds, "Authors");
Acceder a DataTable
ds.Tables["Authors"].Rows.Count;
ds.Tables["Authors"].Rows.Count;
string
stringstr="";
str="";
foreach(DataRow
foreach(DataRowr rinin
ds.Tables["Authors"].Rows)
ds.Tables["Authors"].Rows)
{{
str
str+=
+=r[2];
r[2];
str
+=
r["au_lname"];
str += r["au_lname"];
}}
Dim
Dimds
dsAs
AsNew
NewDataSet()
DataSet()
da.Fill(ds,
"Authors")
da.Fill(ds, "Authors")
ds.Tables("Authors").Rows.Count
ds.Tables("Authors").Rows.Count
Dim
Dimr rAs
AsDataRow
DataRow
Dim
str
As
Dim str AsString
String
For
Each
r
in
For Each r in__
ds.Tables("Authors").Rows
ds.Tables("Authors").Rows
str
str&=
&=r(2)
r(2)
str
&=
r("au_lname")
str &= r("au_lname")
Next
Next
Crear un DataSet
DataSet
DataSetds
ds==new
newDataSet();
DataSet();
da.Fill(ds,
"Authors");
da.Fill(ds, "Authors");
Acceder a DataTable
ds.Tables["Authors"].Rows.Count;
ds.Tables["Authors"].Rows.Count;
string
stringstr="";
str="";
foreach(DataRow
foreach(DataRowr rinin
ds.Tables["Authors"].Rows)
ds.Tables["Authors"].Rows)
{{
str
str+=
+=r[2];
r[2];
str
+=
r["au_lname"];
str += r["au_lname"];
}}
Dim
Dimds
dsAs
AsNew
NewDataSet()
DataSet()
da.Fill(ds,
"Authors")
da.Fill(ds, "Authors")
ds.Tables("Authors").Rows.Count
ds.Tables("Authors").Rows.Count
Dim
Dimr rAs
AsDataRow
DataRow
Dim
str
As
Dim str AsString
String
For
Each
r
in
For Each r in__
ds.Tables("Authors").Rows
ds.Tables("Authors").Rows
str
str&=
&=r(2)
r(2)
str
&=
r("au_lname")
str &= r("au_lname")
Next
Next
Utilizar un DataView
Dim
Dimdv
dvAs
AsNew
NewDataView
DataView(ds.Tables("Authors"))
(ds.Tables("Authors"))
dv.RowFilter
=
"state
=
'CA'"
dv.RowFilter = "state = 'CA'"
DataView
DataViewdv
dv==new
newDataView(ds.Tables["Authors"]);
DataView(ds.Tables["Authors"]);
dv.RowFilter
=
"state
dv.RowFilter = "state=='CA'";
'CA'";
Crear el control
<asp:DataGrid
<asp:DataGridid="dg"
id="dg"runat="server"
runat="server"/>
/>
dg.DataSource
dg.DataSource==ds;
ds;
dg.DataMember
=
dg.DataMember ="Authors";
"Authors";
dg.DataBind()
;
dg.DataBind();
Objeto Command
ExecuteReader()
ExecuteScalar()
ExecuteNonQuery()
ExecuteXMLReader()
SQLCommand
ODBCCommand
OLEDBCommand
OracleCommand
Crear un DataReader
Crear y abrir la conexin a base de
datos
Dim
mySqlCommand
As
Crear
el DataReader
desde
Dim
mySqlCommand
As New
New SqlCommand(
SqlCommand(
un
"select
*
from
customers",
mySqlConnection)
"select
* from customers", mySqlConnection)
comando
Dim myReader As SqlDataReader =
Dim myReader As SqlDataReader =
mySqlCommand.ExecuteReader()
mySqlCommand.ExecuteReader()
If
(myReader
Is
If Not
Not
(myReader
Is Nothing)
Nothing) Then
Theny
Cerrar
el
DataReader
myReader.Close()
myReader.Close()
End
End If
If
If
mySqlConnection.State
If mySqlConnection.State ==
ConnectionState.Open
Then
ConnectionState.Open Then
mySqlConnection.Close()
mySqlConnection.Close()
End
End If
If
la conexin
Crear un DataReader
Para utilizar un DataReader:
7
7Utilizar
el controlador de errores
TryCatchFinally
Obtener campos
El parmetro es la posicin ordinal o nombre
del campo
While
While myReader.Read()
myReader.Read()
Console.Write(myReader("CustomerID).ToString()
Console.Write(myReader("CustomerID).ToString() ++ __
""
")
")
Console.WriteLine(myReader("CompanyName).ToString())
Console.WriteLine(myReader("CompanyName).ToString())
End
End While
While
DataReader
1.
1.
2.
2.
3.
Almacena consultas en un
SqlCommand
3.
4.
4.
Crea un DataView
5.
5.
Enlaza el DataView a
un control enlazado a
una lista
6.
7.
Cierra el DataReader y
la conexin
Prctica:
Escenario: La organizacin Karma A. C. cuenta en
promedio con 20 afiliados, sin embargo, debido a una
campaa de publicidad se pretende aumentar el
nmero de afiliados en un 100% en un mes.
Actualmente la organizacin no lleva ningn registro de
afiliados, debido a que sus integrantes se conocen muy
bien entre ellos, sin embargo, se pretende que para fin
de ao la organizacin siga creciendo hasta alcanzar
entre 180 a 200 afiliados. Por lo que Karma requiere una
herramienta que permita registrar los nombres y las
edades de sus afiliados. Considera que la aplicacin
debe ser accesible en los diferentes estados del pas.
Realiza el diseo Conceptual , Lgico y fsico.
Realiza la aplicacin.