Beruflich Dokumente
Kultur Dokumente
4º Semestre
Disciplina - Script
Código Aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Exemplo001.aspx.cs"
Inherits="Exercicios_Exercicio001" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Exemplo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
Código Aspx.Cs
Pressione F7 para acessar o código Aspx.Cs
Ctrl + F5 Executa o código
using System;
using System.Collections.Generic;
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Exercicios_Exercicio001 : System.Web.UI.Page{
//comentário de uma linha
/*
* Comentário de
* Várias Linhas
*/
protected void Page_Load(object sender, EventArgs e){
Response.Write("Programando em C#");
}
}
Resultado
Interessante Saber
Arquivo .aspx
Arquivo Web.config
É o arquivo padrão que contém todas as configurações do nosso projeto.
Tipo de dados.
sbyte 8 bits -128 / 127
byte 8 bits 0 / 255
short 16 bits -32.768 / 32.767
ushort 16 bits 0 / 65.535
int 32 bits -2.147.483.648 / 2.147.483.648
uint 32 bits 0 / 4.294.967.295
long 64 bits -9.223.372.036.854.775.828 / 9.223.372.036.854.775.827
ulong 64 bits 0 / 18.446.744.073.709.551.615
char 16 bits
float 32 bits precisão de 7 dígitos
double 64 bits precisão de 15 dígitos
decimal 128 bits precisão de 28 dígitos
bool 8 bits true / false
string sequencia de caracteres Unicode / limitado pela memória do sistema.
Object pode armazenar qualquer tipo em variável de objeto.
Atenção:
Por padrão um número de ponto flutuante é tratado como double. Para declarar uma variável
como float, deve-se utilizar o sufixo F ou f para o valor numérico bruto (5,3F). Também os
número inteiros brutos têm como padrão um tipo de dado int. Para definir um tipo da dado
long, utiliza-se o sufixo L ou l (4L).
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
C# CTS Descrição
sbyte System.SByte 8 bits, com sinal
byte System.Byte 8 bits, sem sinal
short System.Int16 16 bits, com sinal
ushort System.UInt16 16 bits, sem sinal
int System.Int32 32 bits, com sinal
uint System.UInt32 32 bits, sem sinal
long System.Int64 64 bits, com sinal
ulong System.UInt64 64 bits, sem sinal
object System.Object
float System.Single 32 bits, ponto flutuante
double System.Double 64 bits, ponto flutuante
decimal System.Decimal 128 bits, alta precisão
bool System.Boolean verdadeiro ou falso
string System.String
char System.Char 16 bits, 1 caractere
Exemplo:
double @float = 22.36;
Console.WriteLine(@float); // Saída: 22,36
Declaração de Variáveis
int anoNasc;
double peso;
char sexo;
bool canhoto;
int n1, n2, n3;
Inicialização de Variáveis
anoNasc = 1980;
peso = 65.7;
sexo = 'M';
double altura = 1.8;
int n1 = 10, n2 = 20, n3 = 30;
Constantes
const int Taxa = 10;
Taxa = 20; //ocasionará erro de compilação
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Tabela ASCII
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
char x = (char)02;
Console.WriteLine("O número 15 Convertido de acordo com a tabela
ASCII é: " + x);
}
}
}
Casting Explícito
A converção ocorre de um tipo “maior” para um tipo “menor”. Pode ocorrer perda de
informação.
Exemplo:
int i = 10;
byte b = (byte) i;
Classe Convert
A converção ocorre qualquer valor para qualquer valor.
string ss = Convert.ToString(constante);
bool b = Convert.ToBoolean(ss);
sbyte num1 = Convert.ToSByte(s);
byte num2 = Convert.ToByte(s);
short num3 = Convert.ToInt16(s);
ushort num4 = Convert.ToUInt16(s);
int num5 = Convert.ToInt32(s);
uint num6 = Convert.ToUInt32(s);
long num7 = Convert.ToInt64(s);
ulong num8 = Convert.ToUInt64(s);
char c = Convert.ToChar(s);
float f = Convert.ToSingle(s);
double d = Convert.ToDouble(s);
decimal de = Convert.ToDecimal(s);
Método Parse
A converção ocorre de um tipo “STRING” para outros tipos.
string i = "10";
float f = float.Parse(i);
Console.WriteLine(f);
byte b = byte.Parse(i);
Console.WriteLine(b);
float y = float.Parse("13.78");
Console.WriteLine(y);
Boxing
Tipo valor para um tipo de referência
Unboxing
Tipo referência para um tipo de valor
Garbage Collector
É um serviço fornecido pela plataforma .NET através do CLR. Faz uma limpeza no
managed heap removendo os objetos que não têm mais referências.
Operadores Aritméticos
+ – * / %
Operadores de Comparação
== != < > <= >=
Operadores Lógicos
! || &&
~ Operador REVERSE.
Exemplo:
Console.WriteLine(~200);
Vai imprimir o inverso de 200 que é -201.
Operador Ternário
Sintaxe:
Condição ? Resposta se condição verdadeira : Resposta se condição falsa;
Exemplo
int idade = 17;
bool adulto = idade >= 18 ? true : false;
Console.WriteLine("É adulto: " + adulto);
int i = 1;
switch ( i ){
case 1:
Instrução;
break;
case 2:
Instrução;
break;
default:
Instrução;
}
do{
Console.WriteLine(contador);
contador = contador + 1;
}while ( contador < 15 );
for ( ; ; ){
Console.WriteLine( "Loop infinito" );
}
Exemplo:
int[ ] array = { 5, 2, 3, 1, 7 };
Break
for (int i = 0; i < 10; i++){
if( i == 5 ){
break;
}
Console.WriteLine( i );
}
Continue
for (int i = 0; i < 10; i++){
if( i == 5 ){
continue;
}
Console.WriteLine( i );
}
Código CS
public partial class Exercicios_Exemplo025 : System.Web.UI.Page {
Array de objetos
Visão do Browser:
Código ASPX
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="css/bootstrap.min.css" rel="stylesheet" />
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div class="container">
<div class="jumbotron">
<h1>Pilha</h1>
</div>
<div class="row">
<div class="col-lg-6">
<h2>Cadastro:</h2>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Nome:
<asp:TextBox id="txbNome" runat="server" required="required"></asp:TextBox> <br />
<br />
Idade:
<asp:TextBox id="txbIdade" runat="server" required="required"></asp:TextBox> <br />
<br />
<asp:Button ID="btn" runat="server" Text="Cadastrar" CssClass="btn-primary btn" Onclick="btn_Click"/>
</div>
<div class="col-lg-6">
<h2>Impressão:</h2>
<asp:Label ID="lblDados" runat="server" Text="Dados"></asp:Label>
</div>
</div>
</div>
</form>
</body>
</html>
Código Classe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//construtor
public AlunoTeste( string nome, int idade) {
this.nome = nome;
this.idade = idade;
}
//setters
public void setNome(string nome){
this.nome = nome;
}
//getters
public string getNome(){
return nome;
}
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Código Pilha (Motor)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
Código ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
AlunoTeste al;
al = new AlunoTeste(nome,idade);
MotorPilha.Insert(al);
lblDados.Text = MotorPilha.Mostrar();
txbIdade.Text = "";
txbNome.Text = "";
}
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Exercícios para adaptação
Exercício 001
Crie a classe abaixo.
Crie um layout simples.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe.
Utilize uma pilha de 10 posições.
Pessoa_A
- nome : string
- sobrenome : string
- idade : int
+ gets()
+ Sets()
+ Imprimir() : string
Exercício 002
Crie a classe abaixo.
Crie um layout simples.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe
Utilize uma pilha de 10 posições.
Carro_A
- nomeDoProprietario : string
- modelo : string
- ano : int
- cor : string
- placa : string
+ gets()
+ Sets()
+ Imprimir() : string
Exercício 003
Crie a classe abaixo.
Crie um layout simples.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe
Utilize uma pilha de 10 posições.
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Carro_B
- modelo : string
- ano : int
- cor : string
- placa : string
- cidade: string
- estado : string
- valor : double
- desconto : double
+ gets()
+ Sets()
- Calcular() : double
+ Imprimir() : string
Exercício 005
Crie a classe abaixo.
Crie um layout simples.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe.
Utilize uma pilha de 10 posições.
IMC
- nome : string
- sobrenome: string
- peso : double
- altura : double
+ gets()
+ Sets()
- CalcularIMC() : double
+ Imprimir() : string
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8" />
<title>Título</title>
<!—Bibliotecas incorporadas -->
<script src=“Código.js"></script>
<link href=“Código.css” rel="stylesheet" />
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
</head>
<body>
<!— Aqui colocamos todo o conteúdo de nosso site!-->
</body>
</html>
Estrutura: Bootstrap
</head>
<body>
<form id="form1" runat="server">
<div class="container">
<div class="row">
<div class="col-lg-6"></div>
<div class="col-lg-6"></div>
</div>
</div>
</form>
</body>
</html>
Container – Header
Utilizado para definir o cabeçalho da página, possui apenas valor semântico.
Exemplo:
<header>
<hgroup>
<h1>Capítulo de nível hierárquico 1 </h1>
<h2> Sub Capítulo - nível hierárquico 2</h2>
</hgroup>
</header>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Container – Hgroup
Exemplo:
<header>
<hgroup>
<h1>Capítulo de nível hierárquico 1 </h1>
<h2> Sub Capítulo - nível hierárquico 2</h2>
</hgroup>
</header>
Container – Section
Exemplo:
<section id="corpo">
Conteúdo
</section>
Container – NAV
Container – Aside
Tem significado semântico.
Geralmente utilizado para determinar um conteúdo lateral
<aside id="lateral">
Conteúdo
</aside>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Container – Article
Tem significado semântico.
Especifica o conteúdo independente, auto suficiente.
<article>
Conteúdo
</ article >
Container – Footer
Tem significado semântico.
Utilizado para determinar o rodapé .
<footer id="rodape">
<p>Copyright 2013 - by Gustavo Guanabara</p>
<p>Facebook | Twitter</p>
</footer>
Container – Div
Div – Container básico
<div>
<p> Conteúdo</p>
</div>
Container – Exemplo
<body>
<form id="form1" runat="server">
<!-- Cabeçalho -->
<header class="jumbotron">
<hgroup class="container">
<h1>Título da aplicação</h1>
</hgroup>
</header>
Exercício 005
Objetivo:
Familiarizar com a sintaxe da linguagem, bootstrap.
Crie a classe abaixo.
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe
Utilize uma pilha de 10 posições.
Animal
- nome : string
- raça: string
- proprietário : string
- telefone : string
+ gets()
+ Sets()
+ Imprimir() : string
Exercício 006
Objetivo:
Familiarizar com a sintaxe da linguagem, bootstrap.
Crie a classe abaixo.
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe.
Utilize uma pilha de 10 posições.
Cliente
- nome : string
- sobrenome: string
- rg : string
- cpf : string
+ gets()
+ Sets()
+ Imprimir() : string
Exercício 007
Objetivo:
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Familiarizar com a sintaxe da linguagem, bootstrap.
Crie a classe abaixo.
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe.
Utilize uma pilha de 10 posições.
Endereco
- end_rua : string
- end_numero: string
- end_bairro: string
- end_cidade: string
- end_estado: string
- end_cep: string
+ Gets()
+ sSets()
+ Imprimir() : string
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Master Page
Master Page é um layout padrão que será utilizado por todas as outras páginas, o que representa
uma herança visual.
Com isso conseguimos uma maior facilidade de manutenção do site, pois ao modificarmos a Master
Page, todas as demais serão modificadas.
A Master Page não é executada, o que é executado são as páginas que herdam as características
visuais da Master Page.
Observação:
ContentPlaceHolder
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
Local reservado para os Scripts das Páginas filhas
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
Local reservado para o conteúdo principal das páginas filhas
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Componentes Asp
Os Web Control encotram-se na aba ToolBox.
Menu View / Toolbox
Os Web Controls sempre começam com as tags:
<asp:TextBox> </asp:TextBox>
Onde TextBox é o nome do Web Control
Web Control:<br/>
<asp:TextBox ID="TextBox1" runat="server" Width="186px">
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
Atributo: runat=“server” faz com que este código possa ser manipulado pelo servidor
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Post Back
Post Back: São requisições no servidor que faz com que a página seja recarregada.
Sempre que ocorre um evento em nossa página ocorre um Post Back.
Por exemplo:
Observação: Toda vez que ocorre um Post Back, ocorrerá um novo ciclo na página, o que leva a um
novo processamento. Por este motivo, em propriedades, o evento “AutoPostBack” vem habilitado
como “false”.
Quanto menos Post Back em uma página, melhor será sua performance.
TextBox
Vamos criar o modelo abaixo e trabalhar suas propriedades.
Codigo Asp
<asp:TextBox ID="txb" runat="server"></asp:TextBox>
<asp:Button ID="btn" runat="server" Text="Enviar" />
<asp:Label ID="lbl" runat="server" Text="Receber"></asp:Label>
Visão do Browser
Propriedade TextMode
Permite formatar o TextBox para receber diversos tipos de dados
Atenção:
Browsers diferentes podem ter comportamentos diferentes
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
TextMode: MultiLine
TextMode: Password
TextMode: Date
Padrão Americano
TextMode: Email
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
TextMode: Number
TextMode: Url
DropDownList
É uma caixa de Seleção que nos oferece várias opções para serem escolhidas.
Selecionando o Texto
Selecionando o Valor
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Evento no DropDownList
Exercício
Crie uma Master Page.
Vincule os arquivos de estilo / JavaScript
Crie as páginas filhas.
o A partir deste momento todas as páginas filhas deverão herdar as
características da Master Page.
Crie os formulários para cadastro.
Independente da finalidade do formulário, o importante neste momento é treinar os
componentes TextBox, DropDownList, RadioButtonList e CheckBoxList.
Treine os eventos.
o Utilizando o botão
o Utilizando o DropDownList
o Utilizando o RadioButtonList
Exercício 008
Bootstrap obrigatório.
Crie a classe abaixo.
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe
Utilize um RadioButtonList para o atributo sexo.
Individuo
- ind_nome : string
- ind_cpf: string
- ind_sexo: char
+ Gets()
+ sSets()
+ Imprimir() : string
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Exercício 009
Bootstrap obrigatório.
Crie a classe abaixo.
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe
Utilize um RadioButtonList para o atributo sexo.
Utilize um DropDownList para o atributo estado.
Funcionario
- fun_nome : string
- fun_cpf: string
- fun_rg: string
- fun_rua:string
- fun_numero:string
- fun_cidade:string
- fun_estado:string
- fun_cep:string
- fun_sexo: char
+ Gets()
+ sSets()
+ Imprimir() : string
Exercício 010
Bootstrap obrigatório.
Crie a classe abaixo.
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados
da classe
Utilize um DropDownList para o atributo especialidade.
Clinica
- cli_nomeMedico : string
- cli_especialidade: string
- cli_dataConsulta: dateTime
- cli_nomePaciente: string
+ Gets()
+ sSets()
+ Imprimir() : string
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Construtores
É um ‘método especial’ chamado em um objeto quando ele é criado (instanciado) através do operador
new( ).
Utilizado para inicializar o estado do objeto.
O construtor tem o mesmo nome da classe.
O construtor não define tipo de retorno.
Uma classe sempre deve ter um construtor definido, quando não definimos um construtor o compilador
cria um construtor padrão.
class Livro {
public Livro ( ) { Construtor Padrão
}
}
class Livro{
public Livro ( int numPagina, double valor ){
//................
}
}
Sobrecarga de Construtores
public Livro ( ) {
}
//GETTERS e SETTERS
public string Imprimir() {
return "Soma: " + (getNum1() + getNum2());
}
Sobrecarga de Métodos
Sobrecarregar um método significa criar outros métodos com o mesmo nome, mas com
assinaturas diferentes.
//SETTERS
public void setNum1(int num1) { this.num1 = num1; }
public void setNum2(int num2) { this.num2 = num2; }
//GETTERS
public int getNum1() {return num1; }
public int getNum2() { return num2;}
//SOBRECARGA
public int Somar( int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
return getNum1() + getNum2();
}
// Chamando o método somar que possui um parâmetro, este método chamará o método que
possui dois parâmetros
lbl.Text = t.Somar(7);
}
}
----------------------------------------------------------------------------------------------------------------
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Exemplo: Classe / Construtor:
Classe:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//construtor
public AlunoTeste( string nome, int idade) {
this.nome = nome;
this.idade = idade;
}
//setters
public void setNome(string nome){
this.nome = nome;
}
//getters
public string getNome(){
return nome;
}
Página.ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="css/bootstrap.min.css" rel="stylesheet" />
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div class="container">
<div class="jumbotron">
<h1>Pilha</h1>
</div>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
<div class="row">
<div class="col-lg-6">
<h2>Cadastro:</h2>
Nome:
<asp:TextBox id="txbNome" runat="server" required="required"></asp:TextBox> <br />
<br />
Idade:
<asp:TextBox id="txbIdade" runat="server" required="required"></asp:TextBox> <br />
<br />
<asp:Button ID="btn" runat="server" Text="Cadastrar" CssClass="btn-primary btn" Onclick="btn_Click"/>
</div>
<div class="col-lg-6">
<h2>Impressão:</h2>
<asp:Label ID="lblDados" runat="server" Text="Dados"></asp:Label>
</div>
</div>
</div>
</form>
</body>
</html>
Página.ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
txbNome.Text = "";
txbIdade.Text = "";
}
}
Visão do Browser:
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Herança
A herança é um relacionamento que pode existir entre classes na orientação a objetos.
B herda as funcionalidades de A.
B pode estender as funcionalidades de A.
B passa a ser do mesmo tipo de A.
Herança Simples
Na herança simples a classe tem apenas uma superclasse direta.
Herança em C#
A herança é determinada através da seguinte notação.
Herança de Funcionalidades
Uma subclasse herda as funcionalidades da superclasse.
class Automovel{
Exemplo: Subclasse
Extensão de Funcionalidades
Uma subclasse também pode estender o comportamento da superclasse.
class Automovel{
public int Velocidade{get; set;}
//..............................
}
Exemplo: Subclasse
Além dos elementos definidos em Automóvel, o objeto Ônibus também tem acesso a seu
próprios elementos.
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Visão do Browser
Código ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/Paginas/MasterPage.master" AutoEventWireup="true"
CodeFile="TesteHerança.aspx.cs" Inherits="Paginas_TesteHerança" %>
</asp:Content>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Superclasse – Aluno.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//---------------------
public string Imprimir(){
return "Nome: " + getNome() + " Idade: " + getIdade();
}
Subclasse – AlunoFilho.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
Code be Hidden
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
lbl.Text = al.Imprimir();
}
}
Exercícios 11
Exercícios 12
Crie a classe abaixo.
Crie sua persistência para receber um array de objetos
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados da
classe.
Sempre que possível utilize elementos diferentes do TextBox.
Exercícios 13
Crie a classe abaixo.
Crie sua persistência para receber um array de objetos
Crie uma página web com layout simples utilizando Bootstrap.
Trabalhe a entrada e saída dos dados. O método Imprimir deve retornar todos os dados da
classe.
Sempre que possível utilize elementos diferentes do TextBox.
-------------------------------------
Monte um formulário para entrada de dados e impressão dos valores.
INSS = 7,5% sobre o salário bruto
Salário Líquido = Salário Bruto – INSS
Relatório = Impressão de todas as informações Utilize um array de 15 posições
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
MultiView e View
Código:
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Associação
//atributos
private string nome;
private int idade;
private char sexo;
//Construtor
public Pessoa(string nome, int idade,char sexo){
this.......;
}
//getters e setters - Criou-se um get e um set para cada atributo
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
public string Imprimir(){
return "Nome: " + Nome + "<br/>Idade: " + Idade +
"<br/>Sexo: " + Sexo;
}
}
//atributo
private string cargo;
private double salario;
private Pessoa pessoa;
//Construtor
public Funcionario(string cargo, double salario, Pessoa pessoa) {
this.cargo = cargo;
this.salario = salario;
this.pessoa = pessoa;
}
//getter e setter - Criou-se um get e um set para cada atributo
lblReceber.Text = func.Relatorio();
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Exercícios 14:
Crie um array de objetos para cadastrar e imprimir dados da classe Livro.
Exercícios 15:
Crie um array de objetos para cadastrar e imprimir dados da classe Livro.
Exercícios 16:
Crie uma classe conforme diagrama.
Armazene as informações em um vetor.
Exiba as informações cadastradas no browser.
A página ASPX deve ser trabalhada de acordo com as seguintes informações:
Construtor: Deve inicializar todos os atributos.
endEstado: Utilize um dropdownlist
sexoCliente:Utilize um radiobuttonlist
Curso: Utilize CheckBoxList (JAVA, C#, PHP e MySqQL)
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Exercícios 17:
Crie um array de objetos para cadastrar e imprimir dados da classe Pessoa Física.
Crie um array de objetos para cadastrar e imprimir dados da classe Pessoa Jurídica.
Não esqueça de colocar sua assinatura nas Classes/páginas.
Código Aspx
<section class="row">
<div class="col-lg-6">
<h1>Aluno:</h1>
Nome: <asp:TextBox ID="txtNomeAluno" runat="server" placeholder="Nome do aluno"
ValidationGroup="Aluno"></asp:TextBox><br /><br />
Idade:<asp:TextBox ID="txtIdade" runat="server" TextMode="Number"
ValidationGroup="Aluno"></asp:TextBox><br />
<asp:Button ID="btnAluno" runat="server" Text="Aluno" OnClick="btnAluno_Click"
ValidationGroup="Aluno"/>
</div>
<div class="col-lg-6">
<h1>Dados Aluno:</h1>
<asp:Label ID="lblAluno" runat="server" Text="Dados Aluno: "></asp:Label>
</div>
</section>
<section class="row">
<div class="col-lg-6">
<h1>Produto:</h1>
Nome: <asp:TextBox ID="txtProduto" runat="server" placeholder="Nome do Produto"
ValidationGroup="Produto"></asp:TextBox><br /><br />
Quantidade: <asp:TextBox ID="txtNumeroProduto" runat="server" TextMode="Number"
ValidationGroup="Produto"></asp:TextBox><br /><br />
<asp:Button ID="btnProduto" runat="server" Text="Produto" OnClick="btnProduto_Click"
ValidationGroup="Produto" />
</div>
<div class="col-lg-6">
<h1>Dados Produto:</h1>
<asp:Label ID="lblProduto" runat="server" Text="Dados Produto: "></asp:Label>
</div>
</section>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Planejamento
Primeiro passo:
Levantamento de Requisitos do sistema.
Prototipação do sistema (wireframe).
Segundo passo:
Modelagem e criação do Banco de Dados.
Iremos utilizar o exemplo abaixo (Locação), lembrando que este exemplo é meramente
ilustrativo.
use locacao;
/*
insert into usuario(usu_nome, usu_rg, usu_cpf,usu_email,usu_senha,per_codigo)
values
('Rodrigo Dionisio', '12.123.123-1', '123.123.123-00','teste@gmail.com','123',1);
Definição
Pasta App_Code:
Pasta Classe:
As Classes são criadas de acordo com a modelagem do Banco de dados.
Atenção para os tipos de dados, eles não podem contrariar o que foi modelado
no banco de dados.
Devemos criar uma estrutura básica das classes.
Pasta Persistência:
Armazenará as classes de persistências, que são as classes que trabalharão com
o acesso ao banco de dados (Select, Delete, Insert, Update).
Nem toda classe precisa obrigatoriamente de uma classe de persistência.
Pasta Bin:
Contém todas os arquivos de configuração (dll do projeto – por exemplo
MySqlData).
Ou clique com o botão direito do mouse sobre a pasta Bin / Add References
/ Browser / Ache o local onde está o arquivo MySqlData.dll. / ok
Pode (ou não) ser exibido uma mensagem avisando que as configurações
serão alteradas.
Atenção:
A pasta não pode ficar vazia, em algumas situações, mesmo executando a
operação descrita acima a pasta permanece vazia. Se isso acontecer, localize o
arquivo copie o cole o arquivo dentro da pasta.
Clique com o botão direito do mouse sobre a pasta Bin e dê um refresh para
verificar se a pasta contém o arquivo MysqlData.dll.
Definir o que será comum à todas as páginas e criar a Master Page (Layout).
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Isso facilita a reutilização do código e a distribuição das tarefas entre os membros da
equipe.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Descrição resumida de Perfil
/// </summary>
public class Perfil {
private int per_codigo;
private string per_descricao;
set{per_descricao = value; }
}
}
Classe – Usuário
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Descrição resumida de Usuario
/// </summary>
public class Usuario {
private int usu_codigo;
private string usu_nome;
private string usu_rg;
private string usu_cpf;
private string usu_email;
private string usu_senha;
private string usu_outrodocumentodescricao;
private string usu_numerooutrodocumento;
//FK
private Perfil per_codigo;
Classe – Locação
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Descrição resumida de Locacao
/// </summary>
public class Locacao{
//FK
private Usuario usu_codigo;
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
String de Conexão
Configurar a String de Comexão no Web.Config
<appSettings>
<add key= "strConexao" value="Database = locacao; Data Source = localhost; User id = root;
Password=; pooling = false; "/>
</appSettings>
Onde:
key = nome sugestivo da String de Conexão.
Value = Dados para a conexão com o banco de dados.
Database = nome do banco de dados.
Data Source = Onde está armazenado o banco de dados, pode ser o Ip ou o endereço local.
User id = nome do usuário credenciado para acessar o banco de dados.
Password = senha de acesso do MySql para acessar o Banco de Dados.
Pooling = permite trabalhar com vários acessos utilizando a mesma as conexões;
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
<?xml version=”1.0”?>
<configuration>
<appSettings>
<add key= "strConexao" value="Database = locacao; Data Source = localhost; User id = root;
Password=; pooling = false; "/>
</appSettings>
<system.web>
<compilation debug=”false” targetFramework=”4.0”>
<assemblies>
<add assembly=”MySql.Data, Version=6.6.3.0, Culture=neutral,
PublicKeyToken=C5687FC88969C44D”/>
</assemblies>
</compilation>
<httpRuntime/>
</system.web>
</configuration>
Classe Mapped
A classe Mapped é uma classe de mapeamento.
Ela pode ter qualquer nome.
Esta é a classe possui os métodos de conexão, comando, mapeamento e
execução com o banco de dados.
Métodos Comuns:
Método de Conexão - Cria o objeto de Conexão
Método de Comandos SQL - Cria o objeto e valida o comando a ser executado
Método Adapter - Executa o comando
Método de Parametrização - Valida as entradas de dados antes de executar o
comando Sql.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Data;
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
// Parametrização
// Valida as entradas de dados antes de executar o comando Sql
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Método Adapter - Comentado
IDataAdapter - trabalha como ponte entre dados desconexos e conexos. Após carregado o DataSet, será possível
uma manipulação desconexa destes dados em memória.
public static IDataAdapter Adapter( IDbCommand command) {
// O método executa um commando validado, por isso ele recebe um IDbCommand
IDbDataAdapter adap = new MySqlDataAdapter();
--------------------------------------------------------------------------------------------------------------------------------------
Classe de Persistência
Classes de persistências, que são as classes que trabalharão com o acesso ao banco de dados (Select,
Delete, Insert, Update).
// importar a bibliotecas
using System.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
// importar biblioteca
using System.Data;
int retorno = 0;
try{
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
objConexao = Mapped.Connection();
objCommand = Mapped.Command(sql, objConexao);
objCommand.Parameters.Add(Mapped.Parameter("?per_descricao", p.Per_descricao));
// utilizado quando cdigo não tem retorno, como seria o caso do SELECT
objCommand.ExecuteNonQuery();
objConexao.Close();
objCommand.Dispose();
objConexao.Dispose();
}catch (Exception e) {
retorno = -2;
}
return retorno;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
/// <summary>
/// Descrição resumida de PerfilDB
/// </summary>
public class PerfilDB {
// Insere todos os dados do objeto (Classe Perfil) no BD é muito mais prático passar um
objeto todo de uma vez que passar atributo por atributo
// INSERT
public static int Insert(Perfil p) {
// 0 = caso de Sucesso
// -2 = caso de falha de conexão
int retorno = 0;
try {
// Cria obj conexao
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
IDbConnection objConexao;
// Cria obj comando
IDbCommand objCommand; // Cria o comando
// Abre a conexão
objConexao = Mapped.Connection();
//atribiu ao objeto commando a Sql e o objeto de conexão
objCommand = Mapped.Command(sql, objConexao);
// Parametriza os dados - Adiciona os dados para parametrização
objCommand.Parameters.Add(Mapped.Parameter("?per_descricao", p.Per_descricao));
// utilizado quando cdigo não tem retorno, como seria o caso do SELECT
objCommand.ExecuteNonQuery();
objConexao.Close(); //Fecha a conexão
//Disponibiliza o objeto conexão e o objeto comando para serem utilizados novamente
– limpando a memória
objCommand.Dispose();
objConexao.Dispose();
}catch (Exception e) {
retorno = -2;
}
return retorno;
}
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
objDataAdapter = Mapped.Adapter(objCommand);
objConnection.Close();
objCommand.Dispose();
objConnection.Dispose();
return ds;
}
}
// trabalha como ponte entre dados desconexos e conexos. Após carregado o DataSet,
// será possível uma manipulação desconexa destes dados em memória.
IDataAdapter objDataAdapter;
objConnection = Mapped.Connection();
objCommand = Mapped.Command(("SELECT * FROM perfil ORDER BY per_descricao ",
objConnection);
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
objDataAdapter = Mapped.Adapter(objCommand);
// O objeto DataAdapter vai preencher o DataSet com os dados do BD, O método Fill é o
responsável por preenchre o DataSet
objDataAdapter.Fill(ds);
objConnection.Close();
objCommand.Dispose();
objConnection.Dispose();
return ds;
}
}
Carregar DropDownList
Código ASPX
<div class="row">
<div class="col-md-6 offset-3">
<asp:dropdownlist ID="ddl" runat="server" CssClass="form-control"></asp:dropdownlist>
</div>
</div>
Código ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
if (!IsPostBack){
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Carregar GridView
Código ASPX
Código ASPX.CS
public partial class Paginas_CarregarGrid : System.Web.UI.Page {
Visão do Browser
Codigo ASPX.CS
<div class="col-md-3">
</div>
<div class="col-md-3">
<asp:Button ID="btnUsuario" runat="server" CssClass="btn btn-success btn-block"
Text="Usuário" OnClick="btnUsuario_Click" />
</div>
<div class="col-md-3">
<asp:Button ID="btnLocacao" runat="server" CssClass="btn btn-dark btn-block"
Text="Locação" OnClick="btnLocacao_Click" />
</div>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
<div class="col-md-3">
<asp:Button ID="btnGeral" runat="server" CssClass="btn btn-info btn-block" Text="Geral"
OnClick="btnGeral_Click" />
</div>
<br />
<br />
<div class="col-md-12">
</div>
<div class="col-md-12">
<asp:Panel ID="pnlLocacao" runat="server" Visible="false">
<h4>Relatório: Locação</h4>
<div class="table-responsive">
<asp:GridView ID="gridLocacao" runat="server" CssClass="table table-hover table-
responsive" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="loc_descricaoimovel" HeaderText="Descrição" />
<asp:BoundField DataField="loc_rua" HeaderText="Rua" />
<asp:BoundField DataField="loc_numero" HeaderText="Nº" />
<asp:BoundField DataField="loc_bairro" HeaderText="Bairro" />
</Columns>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
</asp:GridView>
</div>
<asp:Literal ID="ltlLocacao" runat="server"></asp:Literal>
</asp:Panel>
</div>
<div class="col-md-12">
<asp:Panel ID="pnlGeral" runat="server" Visible="false">
<h4>Relatório: Geral</h4>
<asp:GridView ID="gridGeral" runat="server" AutoGenerateColumns="false"
CssClass="table table-hover table-responsive">
<Columns>
<asp:BoundField DataField="per_descricao" HeaderText="Perfil" />
<asp:BoundField DataField="usu_nome" HeaderText="Nome" />
<asp:BoundField DataField="usu_cpf" HeaderText="CPF" />
<asp:BoundField DataField="loc_datalocacao" HeaderText="Data" />
<asp:BoundField DataField="loc_valorlocacao" HeaderText="Valor" />
</Columns>
</asp:GridView>
<asp:Literal ID="ltlGeral" runat="server"></asp:Literal>
</asp:Panel>
</div>
</div>
</div>
</asp:Content>
Código ASPX
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
if (qtd > 0)
{
gridPerfil.DataSource = ds.Tables[0].DefaultView;
gridPerfil.DataBind();
gridPerfil.Visible = true;
ltlPerfil.Text = "Foram encontrado(s) " + qtd + "de Registros...";
}
else
{
gridPerfil.Visible = false;
ltlPerfil.Text = "Não foram encontrado Registros...";
}
}
if (qtd > 0)
{
gridGeral.DataSource = ds.Tables[0].DefaultView;
gridGeral.DataBind();
gridGeral.Visible = true;
ltlGeral.Text = "Foram encontrado(s) " + qtd + "de Registros...";
}
else
{
gridGeral.Visible = false;
ltlGeral.Text = "Não foram encontrado Registros...";
}
}
if (qtd > 0)
{
gridLocacao.DataSource = ds.Tables[0].DefaultView;
gridLocacao.DataBind();
gridLocacao.Visible = true;
ltlLocacao.Text = "Foram encontrado(s) " + qtd + "de Registros...";
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
}
else
{
gridLocacao.Visible = false;
ltlLocacao.Text = "Não foram encontrado Registros...";
}
}
if (qtd > 0)
{
gridUsuario.DataSource = ds.Tables[0].DefaultView;
gridUsuario.DataBind();
gridUsuario.Visible = true;
ltlUsuario.Text = "Foram encontrado(s) " + qtd + "de Registros...";
}
else
{
gridUsuario.Visible = false;
ltlUsuario.Text = "Não foram encontrado Registros...";
}
}
Redirecionamento
Response.Redirect("TipoEmpresa.aspx");
Código
<a href="pg/ModaloExemplo01.aspx" class="btn-danger btn">ModaloExemplo01.aspx</a>
<a href="pg/ModaloExemplo02.aspx" class="btn-success btn">ModaloExemplo02.aspx</a>
<a href="pg/ModaloExemplo03.aspx" class="btn-inverse btn">ModaloExemplo03.aspx</a>
O mesmo pode acontecer com os links com Script, para evita este problema podemos utilizar o
ResolveURL conforme modelo abaixo.
Você deverá analizar o estudo de caso a seguir. Modelar e criar a base de dados (esta
modelagem será utilizada pelo professor Cristóvão em sua disciplina e qualquer dúvida
referente ao tema deve ser tratado com o mesmo).
Após a modelagem você deverá criar uma aplicação utilizando WebForms, a lingagemde
programação C# e bootstrap.
Será combinado uma data para a entregra e avaliação do que foi solicitado no estudo de
caso.
Uma cópia impressa do MER deve ser entregue na data combinada (MER idênticos de
equipes diferentes ocasionará a anulação da avaliação).
Nesta mesma data será solicitado uma alteração no sistema e a equipe deverá executá-
la.
Estudo de caso:
Você deverá modelar e criar o banco (a modelagem será uma atividade avaliativa da
disciplina de Banco de Dados).
Após modelar e criar o Banco vojcê deverá criar o sistema (este sistema será utilizado na
avaliação de Script).
Relatórios
Quanto entrou de dinheiro (dia, semana, mês, periodo)
Mensalidades ( em aberto, recebidas, no período )
Serviços contratado ( quantidade de contratos ativos no período )
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Sessão
A sessão permite armazenar qualquer tipo de dado na memória do servidor.
Criar Sessão:
Session["nome"] = "Dionisio";
Persistindi a Sessão:
lblSessao.Text =Convert.ToString(Session["nome"]);
Remover Sessão:
Session.Remove("nome");
Exemplo:
Neste exemplo Criaremos quatro páginas simples.
Na primeira página a SESSÃO será criada automaticamente.
Nas demais páginas a SESSÃO será persistida.
Na última página teremos um botão com a finalidade de ENCERRAR A SESSÃO.
Visão do Browser
HOME
<a href="Default.aspx">Home</a>
<a href="pag1.aspx">pg1</a> protected void Page_Load(object sender, EventArgs e) {
<a href="pag2.aspx">pg2</a>
<a href="pag3.aspx">pg3</a> Session["nome"] = "Dionisio";
<br /> // lblSessao.Text ="Bem Vindo: "+ Session["nome"];
<br /> lblSessao.Text =Convert.ToString(Session["nome"]);
<h1>HOME</h1>
}
<asp:Label ID="lblSessao" runat="server" Text="---
"></asp:Label>
PÁGINA 01
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
PÁGINA 02
PÁGINA 03
Exemplo:
Neste exemplo Criaremos quatro páginas simples.
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Página de Login, Página de Erro, Pág1 (que só poderá ser acessada pelo perfil 1) e Pág2 (que só poderá ser
acessada pelo perfil 2).
Persistência UsuárioDB.
Na última página teremos um botão com a finalidade de ENCERRAR A SESSÃO.
Visão do Browser.
Banco
Persistência
IDataAdapter objDataAdapter;
string sql = "select * from usu_usuario where usu_email = ?usu_email and usu_senha = ?usu_senha";
objConexao = Mapped.Connection();
objCommand = Mapped.Command(sql, objConexao);
objCommand.Parameters.Add(Mapped.Parameter("?usu_email", email));
objCommand.Parameters.Add(Mapped.Parameter("?usu_senha", senha));
objDataAdapter = Mapped.Adapter(objCommand);
objDataAdapter.Fill(ds);
objConexao.Close();
objConexao.Dispose();
objCommand.Dispose();
return ds;
}
E-mail:<br />
<asp:TextBox ID="txtEmail" runat="server" type="email"></asp:TextBox>
Senha:<br />
<asp:TextBox ID="txtSenha" runat="server" type="password"></asp:TextBox>
if (ds.Tables[0].Rows.Count == 1) {
Session["nome"] = ds.Tables[0].Rows[0]["usu_nome"].ToString();
Session["perfil"] = ds.Tables[0].Rows[0]["per_codigo"].ToString();
if (perfil == 1) {
Response.Redirect("Pag1.aspx");
}
if (perfil == 2) {
Response.Redirect("Pag2.aspx");
}
} else {
Response.Redirect("Erro.aspx");
}
}
}
<h1>Perfil 1</h1>
<asp:Label ID="lblSessao" runat="server" Text="---"></asp:Label>
<asp:Button ID="btnSair" runat="server" Text="Sair" OnClick="btnSair_Click" />
if (perfil == 1) {
lblSessao.Text = Session["nome"].ToString();
} else {
Response.Redirect("Erro.aspx");
}
}
}
<h1>Perfil 2</h1>
<asp:Label ID="lblSessao" runat="server" Text="---"></asp:Label>
<asp:Button ID="btnSair" runat="server" Text="Sair" OnClick="btnSair_Click" />
if (perfil == 2) {
lblSessao.Text = Session["nome"].ToString();
} else {
Response.Redirect("Erro.aspx");
}
}
}
<h1>Erro</h1>
<a href="Login.aspx">Voltar para a HOME</a>
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
}
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Código ASPX
<asp:Label ID="lbl" runat="server"></asp:Label>
Code be Hidden
DataSet ds = AcademiaDB.SelectAll();
}
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Método Insert da Tabela Endereço
Deve-se observar que na tabela Endereço temos uma chave estrangeira, esta é a única
diferença que encontramos em relação aos outros métodos da persistência.
Observação: Demos ter registro na tabela pessoa para que o insert funcione.
// INSERT
public static int Insert(Endereco end) {
int retorno = 0;
try {
IDbConnection objConexao; // Abre a conexao
IDbCommand objCommand; // Cria o comando
objConexao = Mapped.Connection();
objCommand = Mapped.Command(sql, objConexao);
objCommand.Parameters.Add(Mapped.Parameter("?end_rua", end.End_rua));
objCommand.Parameters.Add(Mapped.Parameter("?end_numero", end.End_numero));
objCommand.Parameters.Add(Mapped.Parameter("?end_bairro", end.End_bairro));
objCommand.Parameters.Add(Mapped.Parameter("?end_cidade", end.End_cidade));
objCommand.Parameters.Add(Mapped.Parameter("?end_estado", end.End_estado));
objCommand.Parameters.Add(Mapped.Parameter("?end_cep", end.End_cep));
//FK
objCommand.Parameters.Add(Mapped.Parameter("?pes_codigo",
end.Pes_codigo.Pes_codigo));
objCommand.ExecuteNonQuery();
objConexao.Close();
objCommand.Dispose();
objConexao.Dispose();
}
catch (Exception e)
{
retorno = -2;
}
return retorno;
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Método Delete
// Delete
public static int Delete(int id) {
int retorno = 0;
try {
IDbConnection objConexao;
IDbCommand objComando;
objConexao = Mapped.Connection();
objComando = Mapped.Command(sql, objConexao);
objComando.Parameters.Add(Mapped.Parameter("?id", id));
objComando.ExecuteNonQuery();
objConexao.Close();
objComando.Dispose();
objConexao.Dispose();
} catch (Exception e) {
retorno = -2;
return retorno;
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Método Update
int retorno = 0;
try {
objConexao = Mapped.Connection();
objCommand = Mapped.Command(sql, objConexao);
objCommand.Parameters.Add(Mapped.Parameter("?end_rua", end.End_rua));
objCommand.Parameters.Add(Mapped.Parameter("?end_numero", end.End_numero));
objCommand.Parameters.Add(Mapped.Parameter("?end_bairro", end.End_bairro));
objCommand.Parameters.Add(Mapped.Parameter("?end_cidade", end.End_cidade));
objCommand.Parameters.Add(Mapped.Parameter("?end_estado", end.End_estado));
objCommand.Parameters.Add(Mapped.Parameter("?end_cep", end.End_cep));
objCommand.Parameters.Add(Mapped.Parameter("?end_codigo", end.End_codigo));
//FK
objCommand.Parameters.Add(Mapped.Parameter("?pes_codigo",
end.Pes_codigo.Pes_codigo));
objCommand.ExecuteNonQuery();
objConexao.Close();
objCommand.Dispose();
objConexao.Dispose();
} catch (Exception e) {
retorno = -2;
}
return retorno;
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Código ASPX.CS - Exemplo
DataSet ds =TesteDB.SelectAId(Convert.ToInt32(ddlTipoEmpresa.SelectedValue));
if (ds.Tables[0].Rows.Count == 0){
lbl.Text = "<script>alert('Elemento não encontrado');</script>";
}else{
txtID.Text = ds.Tables[0].Rows[0]["tip_id"].ToString();
txtDescicao.Text = ds.Tables[0].Rows[0]["tip_descricao"].ToString();
}
}
// Page_load
protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack){
CarregarDDL();
}
}
switch(TesteDB.Update(tipo)){
case 0:
lbl.Text = "<div class='alert-success alert'> >>> OK <<< </div>";
break;
case -2:
lbl.Text = "<div class='alert-danger alert'> >>> ERRO <<< </div>";
break;
}
txtDescicao.Text = "";
txtID.Text = "";
CarregarDDL();
}
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
Método Select com um ID específico
IDataAdapter objDataAdapter;
objConnection = Mapped.Connection();
objDataAdapter = Mapped.Adapter(objCommand);
objDataAdapter.Fill(ds);
objConnection.Close();
objCommand.Dispose();
objConnection.Dispose();
return ds;
Criptografia Básica
Visão do Browser
Código ASPX
Senha:
<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
<br />
<br />
<asp:Label ID="lblSenha" runat="server" Text="---"></asp:Label>
<br />
Análise e Desenvolvimento de Sistemas
4º Semestre
Disciplina - Script
<br />
<asp:Button ID="btnSenha" runat="server" Text="Gerar Senha" OnClick="btnSenha_Click"/>
Código ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//-----------------------------
using System.Text;
using System.IO;
using System.Security.Cryptography;
HashValue = SHhash.ComputeHash(MessageBytes);
foreach (byte b in HashValue) {
strHex += String.Format("{0:x2}", b);
}
lblSenha.Text = strHex;
}