• Nenhum resultado encontrado

3ºperiodo-DesenvolvimentoaplicativosWebI

N/A
N/A
Protected

Academic year: 2021

Share "3ºperiodo-DesenvolvimentoaplicativosWebI"

Copied!
198
0
0

Texto

(1)

Desenvolvimento Aplicativos

Web I

Versão 1.0

Fabiano Franca Moreira – MCAD .net

(2)

O professor

Minicurriculo

o Formação em Tecnologia em Processamento de dados –

Una -2000.

2

Una -2000.

o Pós graduação em Gerência da Tecnologia da Informação

– Fumec -2003.

o MBA em Gestão de Projetos – Ibmec – 2011. o Certificação MCP e MCAD.net.

o Trabalhou nas empresas Totvs, Cpm Braxis, Zurich Minas

Brasil e atualmente na Unimed BH.

(3)

A Matéria

ASP.Net

• Arquitetura • Conceitos

3

• Conceitos • Configurações • Gerenciamento de estados • Controles • Trace

(4)

A Matéria

ADO.Net

• Arquitetura • Objetos Conectados

4

• Objetos Conectados • Objetos desconectados • Métodos assíncronos

(5)

Desenvolvimento Aplicativos Web I

O que é ASP.NET

 Uma evolução do ASP.

Utilização de uma única tecnologia em todo projeto.

5

 Utilização de uma única tecnologia em todo projeto.  Interpretado X Compilado.

 Programação independente. (Code-behind)  Windows = Web.

“A Microsoft sabendo da dificuldade que os desenvolvedores têm para construir sites complexos para Web, resolveu criar uma nova plataforma de desenvolvimento.

É aí que aparece o ASP.Net, uma solução poderosa, produtiva, e fácil de usar que vai muito além de páginas HTML convencionais.”

(6)

Desenvolvimento de Aplicativos Web I

O que é ASP.NET

 O grande intuito desta nova tecnologia é resolver os problemas

encontrados no ciclo de desenvolvimento das ferramentas

6

encontrados no ciclo de desenvolvimento das ferramentas atuais.

 Não é necessário entender outras tecnologias como JavaScript,

HTML, VbScript e entre outras. O ASP.net tem como base na inspiração em ferramentas RAD ( Delphi/VB).

(7)

Desenvolvimento de Aplicativos Web I

Características do ASP.NET

 Utilização de linguagens orientadas a objetos.

7

 Utilização de linguagens orientadas a objetos.  Reutilização de código.

 Códigos mais limpos.  Cache de dados.

(8)

Desenvolvimento de Aplicativos Web I

Características do ASP.NET

 Debug e Tracing.

 Monitoramento e diagnóstico da aplicação.

8

 Monitoramento e diagnóstico da aplicação.  Configurações.

 Armazenamento de configurações do site em arquivos XML

(Web.Config / Machine.Config)

 Distribuição e instalação

 O assembly é autodescritivo, evitando armazenamento de

(9)

Desenvolvimento de Aplicativos Web I

ASP.NET X Windows

 O que diferencia uma aplicação Web de uma aplicação

9

 O que diferencia uma aplicação Web de uma aplicação

Windows é que a Web é Stateless devido a natureza do protocolo HTTP. Para simplificar o modelo de programação, o ASP.NET gerencia o estado da página e dos controles durante o processamento do ciclo de vida da página.

(10)

Integração de Aplicativos Web com Banco de

Dados

Arquitetura do Framework .net

(11)

Desenvolvimento de Aplicativos Web I

Funcionamento de uma aplicação Web

(12)

Desenvolvimento de Aplicativos Web I

Arquitetura do ASP

(13)

Desenvolvimento de Aplicativos Web I

Arquitetura do ASP.net

(14)

Integração de Aplicativos Web com Banco de

Dados

Funcionamento do ASP.net

(15)

Integração de Aplicativos Web com Banco de

Dados

Modelo de execução do ASP.net

(16)

Desenvolvimento de Aplicativos Web I

Novos Conceitos

 Session

 Armazena os valores ligados a cada usuário.

16

 Armazena os valores ligados a cada usuário.

 É criada quando o usuário entre no site e destruída ao fechar o

browser.

 É armazenada no servidor.  Application

 Armazena valores que poderão ser compartilhados entre todos os

(17)

Desenvolvimento de Aplicativos Web I

Novos Conceitos

 HTTP (HyperText Transfer Protocol)

 Responsável pela transferência dos dados e pela comunicação

entre o cliente e o servidor.

17

entre o cliente e o servidor.

 É um protocolo stateless, ou seja as conexões entre um cliente e

um servidor são encerradas após o envio de cada requisição ou resposta.

 PostBack

 É o reenvio de informações de uma página que já está rodando no

(18)

Desenvolvimento de Aplicativos Web I

Novos Conceitos

 PostBack X Roundrip

 O usuário solicita uma página do servidor Web.

18

 O usuário solicita uma página do servidor Web.  O servidor responde com a página solicitada.

 O usuário entra com os dados no formulário existente e os

envia.

 O servidor processa o formulário e envia o resultado para o

usuário.

O terceiro passo é chamado de PostBack, enquanto que o ciclo completo é chamado de RoundTrip.

(19)

Desenvolvimento de Aplicativos Web I

Arquivos do ASP.NET

 Solution Files (.sln)

 Arquivo que armazena o(s) projeto(s) utilizados dentro de uma

Solution.

19

Solution.

 Solution User Option (.suo)

 Arquivo responsável pelo armazenamento das configurações da

Solution.

 Asp.Net Web Forms (.aspx)

 Arquivo que representa a Interface de um Web Site.  Solution Files (.cs / .vb )

 Arquivo que representa o código de uma página ASPX.

(Server-Side Code)

 Global Application classes (Global.asax)

(20)

Desenvolvimento de Aplicativos Web I

Arquivos do ASP.NET

 Web.Config

 Arquivo no formato XML onde é armazenado as configurações para

20

 Arquivo no formato XML onde é armazenado as configurações para

o site.

 Assembly Files (.dll)

(21)

Desenvolvimento de Aplicativos Web I

Responda Rápido:

 Qual é o protocolo utilizado na comunicação entre o cliente e o

servidor?

21

 HTTP

 O que representa o objeto Request?

 O objeto Request representa a comunicação do cliente para o

servidor.

 O que representa o objeto Response?

 O objeto Response representa a comunicação do Servidor para o

(22)

Desenvolvimento de Aplicativos Web I

Página Web do ASP.NET

Consiste em duas partes

– Elementos Visuais - Controles e textos.

22

– Elementos Visuais - Controles e textos.  Arquivos .ASPX, ASCX

– Programação da página - Códigos e eventos.  Arquivos .CS / .VB

(23)

Desenvolvimento de Aplicativos Web I

Diretórios do ASP.NET

 App_Code

 Contém os códigos fontes das classes que serão compilados

23

 Contém os códigos fontes das classes que serão compilados

juntamente com o projeto.

 App_Data

 Contém arquivos de bancos de dados (.mdf)  App_Themes

 Contém os arquivos (.skin / .css) e imagens que são usados na

aparência do Web Site.

 Bin

(24)

Desenvolvimento de Aplicativos Web I

Eventos no ciclo de vida da página

 OnInit

 Neste evento é instanciado um objeto da classe Page do ASP.NET

e todos os controles que compõe a página.

24

e todos os controles que compõe a página.

 OnLoad

 É chamado o evento OnLoad da página e recursivadamente para

cada controle que está na página. Neste momento o objeto da classe Page já está carregado na memória.Utilize este evento para atualizar propriedades e estabelecer conexões com o banco de dados.

 OnPreRender

 Último evento que o desenvolvedor poderá utilizar para fazer

(25)

Desenvolvimento de Aplicativos Web I

Eventos no ciclo de vida da página

 OnUnLoad

 Este evento ocorre para cada controle e para a página. Qualquer

25

 Este evento ocorre para cada controle e para a página. Qualquer

alteração nas propriedades da página / controles não terão efeito na tela a ser apresentada no browser. Neste momento da página é descartada.

A regra geral de como os eventos são disparados é que os eventos de inicialização são disparados a partir do controle

(26)

Desenvolvimento de Aplicativos Web I

Classe Page do ASP.NET

 Representa uma página Web e armazena todos os controles

26

 Representa uma página Web e armazena todos os controles

associados a página.

 Fornece comportamentos básicos para todas as páginas.

 O comportamento de cada página pode ser alterado através de

seus atributos.

 Toda página ASP.NET deverá herdar da classe Page de forma

(27)

Desenvolvimento de Aplicativos Web I

Propriedades da Classe Page.

 Controls

27

 Representa a coleção de controles da página.  IsPostBack

 Indica se a página está sendo carregada pela primeira vez ou

devido a um PostBack.

 IsValid

 Indica se os controles de validação da página estão validados.  MasterPage

(28)

Desenvolvimento de Aplicativos Web I

Propriedades da Classe Page.

 MasterPageFile

28

 MasterPageFile

 Recupera o nome da página Master.  Title

 Representa o nome do Título da página.  Validators

(29)

Desenvolvimento de Aplicativos Web I

Diretivas da página Web

 Language

 Define a linguagem a ser utilizada na página.

29

 Define a linguagem a ser utilizada na página.  CodeFile

 Especifica o nome do arquivo que contém a classe associada para

a página ( WebForm1.aspx.cs).

 EnableViewState

 Especifica se a página irá gerenciar o conteúdo e propriedades dos

controles através dos Requests.

 Inherits

(30)

Desenvolvimento de Aplicativos Web I

Tipos de eventos

 Cliente

São eventos utilizados para a validação de controles, exibição de

30

 São eventos utilizados para a validação de controles, exibição de

mensagens, definição de foco em controles e entre outras funcionalidades.

 Utilizamos o JavaScript para fazer a programação no lado cliente.  São eventos que não geram PostBack.

 No ASP.NET as funções JavaScript são inseridas na forma de

(31)

Desenvolvimento de Aplicativos Web I

Tipos de eventos

 Servidor

São eventos utilizados na execução de regras de negócios que

31

 São eventos utilizados na execução de regras de negócios que

estão localizados no servidor.

(32)

Desenvolvimento de Aplicativos Web I

Arquivo de configuração ( Web.Config)

 É um arquivo no formato XML.

32

 É um arquivo no formato XML.

 Podemos configurar algumas características da aplicação como

o tipo de autenticação, string de conexão, mensagens de erros e outras características personalizadas definida pelo usuário.

 Permite alterações nas configurações sem parar a aplicação.  Mantém as configurações separadas do código da aplicação.

(33)

Desenvolvimento de Aplicativos Web I

Criação de parâmetros Personalizados no Web.Config

<configuration>

33

<configuration>

<appSettings>

<add key=“Sistema" value=“GSV" /> <add key="Versao" value="1.1.2" /> </appSettings>

(34)

Desenvolvimento de Aplicativos Web I

Recuperação de parâmetros no Web.Config

string NomeSistema;

34

string NomeSistema; string Versao;

NomeSistema =ConfigurationManager.AppSettings[“Sistema"] ; Versao = ConfigurationManager.AppSettings[“Versao"] ;

(35)

Desenvolvimento de Aplicativos Web I

Modelos de compilação ( ASP.NET 1.0)

 Os arquivos code-behind eram compilados em um módulo

35

 Os arquivos code-behind eram compilados em um módulo

assembly e armazenados no diretório Bin.

 As páginas eram compiladas sob solicitação, contudo este

processo de compilação torna a primeira requisição de qualquer página mais lenta do que as requisições subseqüentes.

(36)

Desenvolvimento de Aplicativos Web I

Modelos de compilação ( ASP.NET 2.0)

In-Place Pre-Compilation

36

In-Place Pre-Compilation

 É a forma padrão de compilação do ASP.NET 2.0.  Todas as páginas são compiladas.

Vantagens:

 Fácil de usar.

 Podemos alterar o código que está no servidor e rodar a

(37)

Desenvolvimento de Aplicativos Web I

Modelos de compilação ( ASP.NET 2.0)

Desvantagens:

37

Desvantagens:

 Exige o código fonte no servidor.

 A primeira requisição de página será lenta após a

alteração.

 A segurança irá ficar comprometida.

(38)

Desenvolvimento de Aplicativos Web I

Modelos de compilação ( ASP.NET 2.0)

Pre-Compilation for Deployment

38

 Todo o código da aplicação é compilado, oferecendo uma

melhor performance.

 O código não é embutido em um apenas assembly (

Arquivo Dll) mas sim em vários.

 Para cada arquivo ASPX é criado um arquivo com

extensão *.compiled dentro do diretório Bin.

 Dentro deste arquivo contém a referência do arquivo

(39)

Desenvolvimento de Aplicativos Web I

Modelos de compilação ( ASP.NET 2.0)

(40)

Desenvolvimento de Aplicativos Web I

Modelos de compilação ( ASP.NET 2.0)

Conteúdo do arquivo .compiled

(41)

Desenvolvimento de Aplicativos Web I

Modelos de compilação

ASP.NET 2.0 X ASP.NET 1.1

41

ASP.NET 2.0 X ASP.NET 1.1

No ASP.NET 1.1 quando alterávamos o code-behind seria necessário compilar todo o projeto e refazer o deployment do assembly completo. Agora, no ASP.NET 2.0, podemos fazer o deployment apenas do arquivo que sofreu a alteração.

(42)

Desenvolvimento de Aplicativos Web I

Gerenciamento de estado da aplicação.

 Devido a natureza stateless das aplicações Web, as

42

 Devido a natureza stateless das aplicações Web, as

páginas são destruídas e recriadas a cada novo Request.

 As informações da página são perdidas no ciclo de vida

da página.

 O ASP.NET fornece várias formas de gerenciar o estado

(43)

Desenvolvimento de Aplicativos Web I

Gerenciamento de estado da aplicação.

(44)

Desenvolvimento de Aplicativos Web I

Tipos de gerenciamento de estado da aplicação

 Server-Side

 Utiliza recursos do servidor para armazenar informações de

estado.

44

 Utiliza recursos do servidor para armazenar informações de

estado.

 Cada usuário consome uma parte da memória do servidor.  É mais seguro que o Client-Side

 Client-Side

 Utiliza recursos do cliente para armazenar informações de

estado.

 As informações são enviadas ao servidor a cada Request,

diminuindo assim o tempo de carregamento da página e uma utilização maior da banda da rede.

(45)

Desenvolvimento de Aplicativos Web I

Tipos de gerenciamento de estado da aplicação

Server-Side

 Application State

45

 Application State

 A informação armazenada é disponível para todos os

usuários. Exemplo: Números de visitantes

 Sesion State

 A informação armazenada é disponível para o usuário

específico da sessão. Exemplo: Armazenamento da cor preferida do usuário.

(46)

Desenvolvimento de Aplicativos Web I

Tipos de gerenciamento de estado da aplicação

Server-Side

46

 State Server

 A informação armazenada num banco de dados Sql

Server.

 Cache

 Possui recursos mais avançados como tempo de

permanência da informação em cache, dependência e entre outros.

(47)

Desenvolvimento de Aplicativos Web I

Tipos de gerenciamento de estado da aplicação

Client-Side

47

 Cookies

 É um arquivo texto que pode ser usado para

armazenar pequenas informações do usuário. O uso comum de cookies é para identificar um usuário quando o mesmo visita vários sites.

 ViewState

 Web Forms utilizam um campo oculto chamado

_ViewState que armazena todas as configurações e dados de entrada dos controles durante o PostBack.

(48)

Desenvolvimento de Aplicativos Web I

Tipos de gerenciamento de estado da aplicação

Client-Side

48

Client-Side

 QueryStrings

 QueryStrings é uma informação que é adicionada no final de

uma URL. O início dos parâmetros é representado por uma exclamação (?) e os parâmetros separados por um &.

(49)

Desenvolvimento de Aplicativos Web I

Client-Site X Server-Site

(50)

Desenvolvimento de Aplicativos Web I

Client-Side X Server-Side

50

Utilize o gerenciamento de estado da informação Client-Side quando a escabilidade é prioritária e Server-Side quando as informações devem ser protegidas.

(51)

Desenvolvimento de Aplicativos Web I

Controles do ASP.Net

 HTML Controls

51

 HTML Controls

(52)

Desenvolvimento de Aplicativos Web I

Controles do ASP.Net

 HTML Controls

52

 HTML Controls

 São controles com elementos HTML e são tradicionalmente

usados em páginas ASP e suportados no ASP.NET.

 Não são programaticamente acessíveis no servidor.  Estão disponíveis na Toolbox do VS na Aba HTML.

(53)

Desenvolvimento de Aplicativos Web I

Controles do ASP.Net

 Web Server Controls

 São controles projetados para trabalhar com o modelo de

53

 São controles projetados para trabalhar com o modelo de

programação do ASP.NET.

 Possuem propriedades e métodos mais avançados e

programaticamente acessíveis no servidor.

 São herdados da classe base WebControl.

 Possuem a habilidade de detectar a capacidade de um

(54)

Desenvolvimento de Aplicativos Web I

Controles do ASP.Net

 Web Server Controls

 Possuem o atributo runat = “Server” no HTML.

54

 Possuem o atributo runat = “Server” no HTML.

<asp:Button ID = “Button1” runat = “Server”/>

 Button, GridView , CheckBox, TextBox e entre outros são

(55)

Desenvolvimento de Aplicativos Web I

Criando controles dinamicamente

TextBox txtNome

= new TextBox();

55

TextBox txtNome

= new TextBox();

txtNome.ID

= “

txtNomeFantasia

";

txtNome.Text

= “

Casa e Cia

";

txtNome.Visible

= true;

form1.Controls.Add(txtNome);

(56)

Desenvolvimento de Aplicativos Web I

Propriedades de um Web Server Control

 Id

 Representa o nome utilizado na programação.

56

 Representa o nome utilizado na programação.  AccessKey

 Tecla de atalho para acessar o controle. É representado por

um caracter.  BackColor

 Representa a cor de fundo do controle.  BorderColor

(57)

Desenvolvimento de Aplicativos Web I

Propriedades de um Web Server Control

 CssClass

 A folha de estilo utilizado no controle.

57

 A folha de estilo utilizado no controle.  Enabled

 Atributo que desabilita o controle, mas deixando visível.  TabIndex

 Posição do controle na ordem de tabulação.  ToolTip

 Texto que aparece quando o usuário passa o mouse em

(58)

Desenvolvimento de Aplicativos Web I

Controlando um PostBack de um controle

 Alguns controles causam um PostBack quando um

determinado evento ocorre, como por exemplo um clique no botão.

58

determinado evento ocorre, como por exemplo um clique no botão.

 Outros controles, como o TextBox, possuem eventos que

não causam um PostBack automático, mas podemos configurá-los para isto.

 O TextBox possui o evento TextChanged, e por default

não gera um PostBack automático quando alteramos um texto.

 Para isto acontecer, podemos utilizar a propriedade

(59)

Desenvolvimento de Aplicativos Web I

Controlando um PostBack de um controle

Outros controles como DropdownList, CheckBox e

59

 Outros controles como DropdownList, CheckBox e

(60)

Desenvolvimento de Aplicativos Web I

Responda Rápido:

 Qual é a propriedade de um Server Control que podemos

desabilitar para minimizar o ViewState da página?

60

desabilitar para minimizar o ViewState da página?

 EnableViewState

 Um CheckBox de uma aplicação não está gerando um

PostBack quando ele é habilitado / desabilitado. Como podemos gerar um PostBack neste caso?

(61)

Desenvolvimento de Aplicativos Web I

Explorando os Web Server Control

 TextBox

61

 CheckBox

(62)

Desenvolvimento de Aplicativos Web I

Propriedades de um TextBox

 AutoCompleteType

 Representa o tipo da lista de valores que o TextBox irá

62

 Representa o tipo da lista de valores que o TextBox irá

apresentar quando o usuário digitar novamente os dados.  MaxLength

 Máximo de caracteres que um TextBox pode aceitar.  ReadOnly

 Representa se o texto poderá ser alterado ou não.  TextMode ( SingleLine / MultLine / Password)

(63)

Desenvolvimento de Aplicativos Web I

Propriedades de um CheckBox

 Checked

 Indica o estado do controle ( Habilitado ou Desabilitado)

63

 Indica o estado do controle ( Habilitado ou Desabilitado)  Text

(64)

Desenvolvimento de Aplicativos Web I

Propriedades de um RadioButton

 Checked

 Indica o estado do controle ( Habilitado ou Desabilitado)

64

 Indica o estado do controle ( Habilitado ou Desabilitado)  GroupName

(65)

Desenvolvimento de Aplicativos Web I

Responda Rápido:

 Como podemos criar um TextBox que irá representar um

campo de Senha?

65

campo de Senha?

 Alterar a propriedade TextMode para Password.

 Como podemos criar múltiplos RadioButton funcionando

de forma exclusiva?

(66)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 RequiredFieldValidator

66

 CompareValidator  RangeValidator  RegularExpressionValidator  ValidationSummary

(67)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 RequiredFieldValidator

 Verifica se um valor foi digitado no controle. Utilizado

67

 Verifica se um valor foi digitado no controle. Utilizado

quando alguns campos são de digitação obrigatória.

 Possui a propriedade ControlToValidade que irá representar

o controle a ser validado.

 A propriedade ErrorMessage irá mostrar a mensagem de

erro no controle ValidationSummary.

 A propriedade Text irá mostrar a mensagem de erro logo

(68)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

Exemplo de uma validação de entrada

68

(69)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 CompareValidator

 Utilizado para comparar a entrada de dois controles.

69

 Utilizado para comparar a entrada de dois controles.

Exemplo: Idade Inicial e Final. A Idade Inicial sempre deverá ser menor que a Idade Final.

 Possui a propriedade ControlToValidade que representa o

controle a ser validado.

 Possui propriedade ControlToCompare que representa qual

controle que será comparado.

 A propriedade Type representa o tipo da comparação (

(70)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 CompareValidator

 A propriedade Operator representa o operador

70

 A propriedade Operator representa o operador

utilizado na comparação ( Equal, GreaterThan, LessThan)

(71)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

Exemplo de uma validação por comparação

71

(72)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 RangeValidator

 Utilizado para verificar se um valor informado está dentro de

72

 Utilizado para verificar se um valor informado está dentro de

uma faixa.

 Possui a propriedade MinimumValue que representa o valor

mínimo que o campo irá aceitar.

 Possui propriedade MaximumValue que representa o valor

máximo que o campo irá aceitar.

 A propriedade ControlToValidade representa o controle que

(73)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

Exemplo de uma validação por faixa

73

(74)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 RegularExpressionValidator

 Utilizado para validar formatos de campos como e-mail,

74

 Utilizado para validar formatos de campos como e-mail,

telefone, Cep e entre outros.

 Possui a propriedade ValidationExpression que representa a

expressão de validação do campo.

ValidationExpression="\w+@\w+\.\w+"

 A propriedade ControlToValidade representa o controle que

(75)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

Exemplo de uma validação de formato

75

(76)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

 ValidationSummary

 Utilizado para mostrar as mensagens de erro de todos

76

 Utilizado para mostrar as mensagens de erro de todos

os controles de validação da página.

 Possui a propriedade HeaderText que representa o

texto do cabeçalho do display.

 A propriedade ShowMessageBox mostra os erros na

(77)

Desenvolvimento de Aplicativos Web I

Controles de validação de dados

Exemplo de utilização do Summary

(78)

Desenvolvimento de Aplicativos Web I

Utilizando o Trace no ASP.NET

 Utilizado para detectarmos problemas na aplicação em

tempo de execução.

78

tempo de execução.

 Explorar recursos utilizados na página, como por exemplo

variáveis de sessão, tamanho do ViewState, QueryStrings e entre outras informações.

 Podemos saber com detalhes o que está acontecendo

(79)

Desenvolvimento de Aplicativos Web I

Habilitando o Trace no ASP.NET

 Web.Config.

79

 Web.Config.

(80)

Desenvolvimento de Aplicativos Web I

Habilitando o Trace no ASP.NET

 Através do Web.Config

 Enabled: Habilita / Desabilita o recurso do Trace.

80

 Enabled: Habilita / Desabilita o recurso do Trace.

 PageOutput: Se configurado para True, envia as

informações do Trace na própria página, caso contrário gera as informações num arquivo virtual com extensão .axd

 LocalOnly: Indica se a informação de Trace pode ser

visualizada apenas no Servidor (True) ou em qualquer micro (False).

 TraceMode: Indica como deverá ser ordenada as

(81)

Desenvolvimento de Aplicativos Web I

Habilitando o Trace no ASP.NET

 Visualização da configuração no Web.Config

81

<configuration>

<system.web>

<trace enabled ="true" pageOutput ="true" localOnly = "true"

TraceMode = "SortByTime" <system.web>

(82)

Desenvolvimento de Aplicativos Web I

Habilitando o Trace no ASP.NET

 Através do Web Site Administration Tool

 Acessível através do Menu WebSite / ASP.NET

82

 Acessível através do Menu WebSite / ASP.NET

Configuration.

 É exibida uma página Web de configuração da

aplicação.

 As alterações realizadas são armazenadas no

(83)

Desenvolvimento de Aplicativos Web I

Visualizando o Trace no ASP.NET

 Se o parâmetro PageOutput estiver configurado como

True, bastar rodar a aplicação e ver os resultados na própria página.

83

própria página.

 Se o parâmetro PageOutput estiver configurado como

False, rode a aplicação e digite a página Trace.axd no final da URL.

(84)

Desenvolvimento de Aplicativos Web I

Responda Rápido:

 Como podemos gerar informações de Trace na própria

página Web?

84

página Web?

 Alterar o PageOutput para True.

 Qual o nome da página virtual onde podemos visualizar o

Trace da aplicação?

(85)

Desenvolvimento de Aplicativos Web I

Recuperando informações do Cliente / Request



Request.Browser

85



Request.Browser



Page.Request



Page.Response

(86)

Desenvolvimento de Aplicativos Web I

Recuperando informações do Cliente

 Request.Browser

 Devido a diversidade de navegadores, podemos

86

 Devido a diversidade de navegadores, podemos

utilizar recursos que o ASP.NET oferece para detectar qual o navegador o usuário está usando.

 Alguns Browsers podem ter restrições por razões de

segurança.

 Os controles do ASP.NET se adaptam

(87)

Desenvolvimento de Aplicativos Web I

Recuperando informações do Cliente

 Propriedades do Request.Browser

87

 ActiveXControls

 Indica se o Browser suporta ActiveX Controls.

 Cookies

 Indica se o Browser suporta Cookies.

 IsMobileDevice

 Indica se o Browser é reconhecido como um

(88)

Desenvolvimento de Aplicativos Web I

Recuperando informações do Cliente

 Propriedades do Request.Browser  JavaScript

88

 JavaScript

 Indica se o Browser suporta Java script.

 Version

 Recupera a versão do Browser.

 Browser

 Recupera o nome do Browser.

Exemplo:

(89)

Desenvolvimento de Aplicativos Web I

Objeto Response

 Page.Response

89

 Propriedade da Page que permite o acesso a um

HTTP Response enviado do servidor ao cliente.

 Podemos examinar e incluir informações no

(90)

Desenvolvimento de Aplicativos Web I

Objeto Response

 Propriedades do Objeto Response  Cookies

90

 Cookies

 Utilizada para adicionarmos Cookies no cliente.

 Status e StatusCode

 Recupera o código que indica se o Response foi

executado com sucesso. Exemplo:

200: Response executado com sucesso. 404: Arquivo não encontrado.

(91)

Desenvolvimento de Aplicativos Web I

Objeto Request

 Page.Request

91

 Objeto que fornece acesso as informações do

Request enviadas ao Servidor.

 Podemos examinar os detalhes de um Request.

(92)

Desenvolvimento de Aplicativos Web I

Objeto Request

 Propriedades do Objeto Request  IsSecureConnection

92

IsSecureConnection

 Indica se a conexão está utilizando um protocolo

seguro (Https).

 LogonUserIdentity

 Recupera o objeto WindowsIdentiy que possui

informações do usuário logado.

 QueryString

(93)

Desenvolvimento de Aplicativos Web I

Objeto Request

 Propriedades do Objeto Request  TotalBytes

93

 TotalBytes

 Recupera o tamanho em Bytes do Request.

 UserHostAddress

 Recupera o IP do cliente.

 UserHostName

(94)

Desenvolvimento de Aplicativos Web I

Objeto Request

 Propriedades do Objeto Request  UserLanguages

94

 UserLanguages

 Recupera uma lista de línguas suportadas pelo

Browser do cliente.

 PhysicalApplicationPath

 Recupera o diretório físico da aplicação.

 Path

(95)

Desenvolvimento de Aplicativos Web I

Introdução ao ADO.NET

 É com conjunto de classes, interfaces e estruturas que

gerenciam o acesso a dados.

95

gerenciam o acesso a dados.

 É uma evolução do ADO.

 Projetado para trabalhar desconectado.

 Modelo de programação que suporta XML, facilitando a

interoperabilidade entre plataformas heterogêneas.

 Diferente do ADO, tem habilidade de extrair dados de

diferentes fontes de dados, como por exemplo, arquivos XML, planilhas Excel e entre outras.

(96)

Desenvolvimento de Aplicativos Web I

Uma evolução do ADO

(97)

Desenvolvimento de Aplicativos Web I

Arquitetura do ADO.NET

(98)

Desenvolvimento de Aplicativos Web I

Arquitetura do ADO.NET

 Data Providers

98

 Objetos que não armazenam dados.

 Utilizados para ler e escrever em banco de dados.  Possuem conhecimento da fonte de dados.

 Data Classes

 Objetos que armazenam e manipulam os dados.  Não possuem conhecimento da fonte de dados.

(99)

Desenvolvimento de Aplicativos Web I

Tipos de Data Providers

 Sql Server .Net Data Provider ( SQL 7.0 e 2000)

99

 Sql Server .Net Data Provider ( SQL 7.0 e 2000)  SqlCommand.

 SqlConnection.  SqlDataReader.

 OleDb .Net Data Provider ( SQL 6.5, DB2, Access)  OleDBCommand.

 OleDBConnection.  OleDBDataReader.

(100)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes conectadas

SqlConnection:

10

0

SqlConnection:

 O objeto SqlConnection é responsável pelo

gerenciamento de toda a lógica de acesso a dados.

 O primeiro passo para interagir com um banco de dados

(101)

Desenvolvimento de Aplicativos Web I

Criando um objeto SqlConnection

SqlConnection objCon = new SqlConnection(“ ");

10

1

SqlConnection objCon = new SqlConnection(“ ");

 O Constructor da classe recebe como parâmetro uma

(102)

Desenvolvimento de Aplicativos Web I

Passos para criar e utilizar um SqlConnection

 Instanciar um objeto do tipo SqlConnection.

10

2

 Instanciar um objeto do tipo SqlConnection.  Abrir uma conexão.

 Atribuir a conexão em outros objetos.  Executar operações no banco de dados.  Fechar a conexão.

(103)

Desenvolvimento de Aplicativos Web I

Parâmetros de uma string de conexão

 Data Source

10

3

 Data Source

 Identifica o servidor de banco de dados.  Initial Catalog

 Identifica o nome do DataBase.  User Id

 Identifica o nome do usuário.  Password

 Senha do usuário.

"DataSource=ServProducao;Initial Catalog=Produtos; User ID=UsuProducao;Password=hgt56uy"

(104)

Desenvolvimento de Aplicativos Web I

Armazenando a string de conexão

 A string de conexão poderá ser armazenada no arquivo

xml Web.Config.

10

4

xml Web.Config.

 A string de conexão sempre deverá ficar armazenada

fora do código com a finalidade de minimizar as recompilações do projeto

.

(105)

Desenvolvimento de Aplicativos Web I

Armazenando a string de conexão no web.config

<connectionStrings>

10

5

<connectionStrings>

<add name="ExemploAula"

providerName="System.Data.SqlClient"

connectionString="Initial Catalog=Movimentos;data source=ServProducao;User Id=sa;Password=sa“/>

</connectionStrings>

É aconselhável criptografar a string de conexão no web.config.

(106)

Desenvolvimento de Aplicativos Web I

Recuperando a string de conexão do web.config

String conString;

10

6

conString = ConfigurationManager.ConnectionStrings["ExemploAula"]. ConnectionString

(107)

Desenvolvimento de Aplicativos Web I

Trabalhando com Pool de Conexões

 Criando e abrindo uma conexão exige um consumo de

recursos a cada operação.

10

7

recursos a cada operação.

 Em algumas situações o servidor poderá ter várias

conexões abertas e algumas sem utilização, alocando recursos desnecessários.

 O Pool de Conexões é o processo de reutilizar conexões

ativas ao invés de criar novas conexões quando um nova conexão é requisitada.

(108)

Desenvolvimento de Aplicativos Web I

Configuração do Pool de Conexões

 É configurado pelos parâmetros inseridos na string de

conexão.

10

8

conexão.

 Connection Timeout

 Número de segundos de espera para uma conexão

disponível.  Min Pool Size

 Número mínimo de conexões mantidas no pool. O padrão é 0.  Max Pool Size

 Número máximo de conexões permitidas no pool. O padrão é

(109)

Desenvolvimento de Aplicativos Web I

Configuração do Pool de Conexões

10

9

Para termos uma aplicação de alta performance, deveremos utilizar o pool de conexão. Quando utilizamos os Providers do Sql Server, não precisamos habilitar o pool, porque o Provider do Sql Server já faz o gerenciamento automaticamente.

(110)

Desenvolvimento de Aplicativos Web I

Funcionamento do Pool de Conexões

 No momento da criação do pool, múltiplos objetos são

criados e adicionados no pool até o valor do parâmetro Min

11

0

criados e adicionados no pool até o valor do parâmetro Min Pool Size.

 Quando um conexão é requisitada, o gerenciador verifica

se existe uma conexão disponível e retorna a mesma para ser reutilizada, caso contrário, uma nova conexão é criada e adicionada no pool.

(111)

Desenvolvimento de Aplicativos Web I

Funcionamento do Pool de Conexões

 Quando uma conexão é requisita e o número de conexões

11

1

 Quando uma conexão é requisita e o número de conexões

no pool já está igual ao parâmetro Max Pool Size, a requisição é adicionada numa fila até que uma conexão esteja disponível. Se o tempo de espera na fila ultrapassar o parâmetro Timeout, um erro é retornado ao cliente.

 A Conexão é devolvida ao pool quando o método Close()

(112)

Desenvolvimento de Aplicativos Web I

Propriedades do SqlConnection

 ConnectionString

String de conexão a ser utilizada para abrir o banco de

11

2

 String de conexão a ser utilizada para abrir o banco de

dados.

 ServerVersion

 Retorna a versão do banco de dados conectado.  State

(113)

Desenvolvimento de Aplicativos Web I

Métodos do SqlConnection

 BeginTransaction

11

3

 BeginTransaction

 Inicia uma transação no banco de dados

.

 ClearAllPools

 Limpa o pool de conexão

.

 Close

 Fecha a conexão

.

 CreateCommand

(114)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes conectadas

SqlCommand:

11

4

SqlCommand:

 É representada pela classe SqlCommand.

 Pode referenciar uma Stored Procedure ou um Sql a ser

executado no banco de dados.

(115)

Desenvolvimento de Aplicativos Web I

Criando um SqlCommand

string sql = “ select * from vendas”;

11

5

string sql = “ select * from vendas”;

SqlCommand cmd = new SqlCommand(sql,objConexao);

 O Constructor da classe poderá receber como parâmetro:  Um texto Sql.

 Uma conexão.  Uma transação.

(116)

Desenvolvimento de Aplicativos Web I

Propriedades do SqlCommand

 CommandText

11

6

 Representa o Sql ou Stored Procedure a ser executado

no banco de dados.

 CommandType

 Representa como a propriedade CommandText irá ser

interpretada.( Text ou StoredProcedure)

 Connection

 Representa a conexão que irá ser utilizada  Parameters

(117)

Desenvolvimento de Aplicativos Web I

Propriedades do SqlCommand

Transaction

11

7

 Transaction

 Representa o objeto SqlTransaction utilizado na

(118)

Desenvolvimento de Aplicativos Web I

Métodos do SqlCommand

 ExecuteNonQuery

11

8

 Executa um SQL ( Delete, Insert e Update) e retorna o

número de linhas afetadas.

 ExecuteScalar

 Retorna a primeira coluna da primeira linha de um

retorno de um SQL.

 ExecuteReader

(119)

Desenvolvimento de Aplicativos Web I

Passos para criar um SqlCommand

 Criar uma string de conexão.

11

9

 Criar um objeto do tipo SqlConnection.  Criar um objeto do tipo SqlCommand.

 Valorar a propriedade CommandText do SqlCommand

com uma sentença SQL.

 Valorar a propriedade CommandType.  Abrir a conexão.

 Executar a sentença SQL no banco de dados.  Fechar a conexão.

(120)

Desenvolvimento de Aplicativos Web I

Criação de um SqlCommand - ExecuteNonQuery

12

0

(121)

Desenvolvimento de Aplicativos Web I

Criação de um SqlCommand - ExecuteScalar

12

1

(122)

Desenvolvimento de Aplicativos Web I

Criação de um SqlCommand - ExecuteXmlReader

 Para retornar XML diretamente de um banco Sql Server

podemos utilizar o método ExecuteXmlReader.

12

2

podemos utilizar o método ExecuteXmlReader.

 Este método retorna um objeto do tipo XmlReader

contendo o XML retornado pelo banco de dados.

 Para utilizar este método, o banco de dados deverá ter

(123)

Desenvolvimento de Aplicativos Web I

Criação de um SqlCommand - ExecuteXmlReader

12

3

(124)

Desenvolvimento de Aplicativos Web I

SqlCommand - Métodos Assíncronos

 Síncrono

12

4

 Síncrono

Significa quem chamou o método deve esperar o retorno para que seja possível executar outros comandos.

 Assíncrono

Não é necessário esperar o retorno do método chamado para executar outras operações e outros métodos

(125)

Desenvolvimento de Aplicativos Web I

SqlCommand - Métodos Assíncronos

12

5

(126)

Desenvolvimento de Aplicativos Web I

SqlCommand - Métodos Assíncronos

 Para configurar a execução dos métodos de forma

12

6

 Para configurar a execução dos métodos de forma

assíncrona no banco de dados é necessário fazer uma configuração na string de conexão.

(127)

Desenvolvimento de Aplicativos Web I

SqlCommand – Parâmetros de Métodos Assíncronos

 CallBack

12

7

 CallBack

 É método que será executado quando a operação for

finalizada.

 Dentro deste método deverá ser executado o

respectivo método EndExecuteXXX.

 É onde devemos tratar as exceções geradas na

(128)

Desenvolvimento de Aplicativos Web I

SqlCommand – Parâmetros de Métodos Assíncronos

 stateObject

12

8

 stateObject

 É um objeto definido pelo usuário que é passado

como parâmetro para o método de CallBack.

 Podemos recuperar este objeto dentro do método

(129)

Desenvolvimento de Aplicativos Web I

SqlCommand - Métodos Assíncronos

12

9

(130)

Desenvolvimento de Aplicativos Web I

SqlCommand - Métodos Assíncronos

13

0

(131)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes conectadas

SqlDataReader:

13

1

SqlDataReader:

 É mais eficiente na leitura de dados.

 É somente leitura e “caminha”(forward-only) somente

para frente.

 Somente uma linha é mantida em memória.

(132)

Desenvolvimento de Aplicativos Web I

Propriedades do SqlDataReader

 FieldCount

13

2

 FieldCount

 Pega o número de colunas da linha corrente.  HasRows

 Indica se o SqlDataReader contém uma ou mais linhas.  IsClosed

(133)

Desenvolvimento de Aplicativos Web I

Métodos do SqlDataReader

 Read

13

3

 Read

 Avança para o próximo registro.  Close

 Fecha o objeto SqlDataReader.  NextResult

(134)

Desenvolvimento de Aplicativos Web I

Criando um SqlDataReader

SqlCommand cmd = new SqlCommand(sql,objConexao);

13

4

SqlCommand cmd = new SqlCommand(sql,objConexao);

(135)

Desenvolvimento de Aplicativos Web I

Lendo dados de um SqlDataReader

13

5

(136)

Desenvolvimento de Aplicativos Web I

Lendo dados de um SqlDataReader

 Uma vez lida a linha, esta linha nunca irá estar disponível.

13

6

Uma vez lida a linha, esta linha nunca irá estar disponível.

 Temos que interagir linha a linha do SqlDataReader

através de um loop utilizando o método Read.

 Existem várias formas de recuperar o valor de uma coluna,

porém a forma mais rápida é através do índice da coluna.A sua única desvantagem é na manutenção, pois uma mudança no Sql poderá afetar a numeração dos índices.

(137)

Desenvolvimento de Aplicativos Web I

Lendo um conjunto de resultados

 Em algumas situações precisamos retornar um conjunto de

13

7

 Em algumas situações precisamos retornar um conjunto de

dados de uma única vez, fazendo somente um acesso ao banco de dados.

(138)

Desenvolvimento de Aplicativos Web I

Lendo um conjunto de resultados

13

8

(139)

Desenvolvimento de Aplicativos Web I

Finalizando um SqlDataReader

 Enquanto o SqlDataReader estiver em uso é necessário ter

13

9

 Enquanto o SqlDataReader estiver em uso é necessário ter

uma conexão aberta e dedicada.

 Após a utilização do objeto, devemos fechar o

(140)

Desenvolvimento de Aplicativos Web I

Finalizando um SqlDataReader

14

0

(141)

Desenvolvimento de Aplicativos Web I

Finalizando um SqlDataReader

 Uma outra forma de fechar a conexão de forma automática,

14

1

 Uma outra forma de fechar a conexão de forma automática,

seria utilizar o outro overload do método ExecuteReader.

 Desta forma não há necessidade de fechar explicitamente

a conexão. O próprio DataReader se encarrega de fazer isto automaticamente quando chamar o método Close.

(142)

Desenvolvimento de Aplicativos Web I

Um código completo

14

2

(143)

SqlDataReader – Considerações Finais

 Com o SqlDataReader garantimos uma performance muito

Desenvolvimento de Aplicativos Web I

14

3

 Com o SqlDataReader garantimos uma performance muito

maior no acesso e resgate aos dados de uma base de dados. Mas é preciso atentar a diversas regras e boas práticas para o uso do mesmo, para que algo tão poderoso e eficaz não torne um problema, dificultando a manutenção e principalmente a eficácia e performance que ele nos fornece.

(144)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes conectadas

SqlBulkCopy:

14

4

SqlBulkCopy:

 Através desta classe podemos fazer uma cópia entre

duas fontes de dados.

 Fornece a mesma funcionalidade de um DTS do Sql

Server.

(145)

Desenvolvimento de Aplicativos Web I

Propriedades do SqlBulkCopy

 DestinationTableName

14

5

 DestinationTableName

 Nome da tabela de destino.  ColumnMappings

 Quando a tabela de origem e destino não tem os

mesmos nomes de colunas, é necessário fazer o mapeamento destas colunas.

(146)

Desenvolvimento de Aplicativos Web I

Métodos do SqlBulkCopy

 Close

14

6

 Close

 Fecha o objeto SqlBulkCopy.  WriteToServer

 Faz a cópia de todas as linhas da fonte de origem para

a fonte de destino especificada na propriedade DestinationTableName.

(147)

Desenvolvimento de Aplicativos Web I

Passos para criar um SqlBulkCopy

 Criar uma conexão e um objeto SqlCommand para a

fonte de dados de origem.

Aplicar o método ExecuteReader para criar um

14

7

 Aplicar o método ExecuteReader para criar um

DataReader.

 Criar um objeto do tipo SqlBulkCopy com a string de

conexão de destino.

 Valorar a propriedade DestinationTableName do

SqlBulkCopy.

 Chamar o método WriteToServer para realizar a

operação de cópia.

 Chamar o método Close do objeto SqlBulkCopy e fechar

(148)

Desenvolvimento de Aplicativos Web I

Utilizando um objeto SqlBulkCopy

14

8

(149)

Desenvolvimento de Aplicativos Web I

Utilizando um objeto SqlBulkCopy

14

9

(150)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes conectadas

SqlDataAdapter:

15

0

SqlDataAdapter:

 É a ponte entre o lado conectado e o desconectado do

ADO.NET.

 Utilizado na recuperação e atualização dos dados.

 Representa um conjunto de objetos SqlCommands e

(151)

Desenvolvimento de Aplicativos Web I

Objeto SqlDataAdapter

15

1

(152)

Desenvolvimento de Aplicativos Web I

Propriedades do SqlDataAdapter

 InsertCommand, selectCommand,deleteCommand e

15

2

 InsertCommand, selectCommand,deleteCommand e updateCommand

 Objeto SqlCommand utilizado na inclusão ,seleção e

(153)

Desenvolvimento de Aplicativos Web I

Métodos do SqlDataAdapter

 Fill

15

3

 Fill

 Método que recupera os dados através do

selectCommand.

 Update

 Método que chama os respectivos updateCommand,

insertCommand e deleteCommand para cada linha do objeto DataRow.

(154)

Desenvolvimento de Aplicativos Web I

Passos para criar um SqlDataAdapter

1) Criar uma string de conexão.

15

4

1) Criar uma string de conexão.

2) Criar um objeto do tipo SqlConnection.

3) Criar um objeto do tipo SqlDataAdapter, passando o Sql e um SqlConnection no seu constructor.

4) Criar um DataTable. 5) Chamar o método Fill().

(155)

Desenvolvimento de Aplicativos Web I

Passos para criar um SqlDataAdapter

15

5

(156)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes desconectadas

DataTable:

15

6

 Podemos comparar o objeto DataTable com uma tabela

física no banco de dados.

 Possui uma coleção de linhas (DataRows) e colunas(

DataColumns).

 Utilizamos o DataTable para representar os dados em

memória de forma desconectada.

 Um objeto DataTable poderá ser instanciado através da

classe DataTable, adicionando objetos DataRows e DataColumns antes de incluir os dados.

(157)

Desenvolvimento de Aplicativos Web I

Propriedades do DataTable

 Columns

Representa uma coleção de colunas.

15

7

 Representa uma coleção de colunas.

foreach (DataColumn coluna in dtProduto.Columns) Console.WriteLine(coluna.ColumnName);

 PrimaryKey

 Define um array de campos que irão fazer parte da chave

(158)

Desenvolvimento de Aplicativos Web I

Propriedades do DataTable

 Rows

15

8

 Rows

 Representa uma coleção de linhas.

foreach (DataRow linha in dtProduto.Rows) Console.WriteLine(linha[“Nome”]);

 TableName

(159)

Desenvolvimento de Aplicativos Web I

Métodos de um DataTable

 Clear

15

9

 Clear

 Limpa os dados do DataTable.  Clone

 Faz um clone da estrutura de um DataTable sem os

dados.

 Copy

 Faz uma cópia da estrutura e dos dados de um

(160)

Desenvolvimento de Aplicativos Web I

Métodos do DataTable

 Compute

 Representa uma expressão e um filtro para realizar cálculos

16

0

 Representa uma expressão e um filtro para realizar cálculos

nas linhas de um DataTable.

object soma;

soma = dtProduto.Compute("Sum(Total)", "CodProduto = 5");

 ImportRow

 Importa uma linha de um DataTable para dentro de um outro

DataTable.

(161)

Desenvolvimento de Aplicativos Web I

Métodos do DataTable

 Select

Filtra os dados de um DataTable de acordo com um critério.

16

1

 Filtra os dados de um DataTable de acordo com um critério.

DataRow[] drLinha;

drLinha = dtProduto.Select(“Codigo>5", “Nome ASC"); If (drLinha.Length > 0)

Console.WriteLine ( “Linhas encontradas”)

 WriteXml

 Grava o conteúdo do DataTable no formato XML e

opcionalmente a sua estrutura.

(162)

Desenvolvimento de Aplicativos Web I

Método do DataTable

 WriteXmlSchema

16

2

 WriteXmlSchema

 Grava a estrutura do DataTable no formato XML.

(163)

Desenvolvimento de Aplicativos Web I

Trabalhando com as classes desconectadas

DataColumn:

16

3

DataColumn:

 Representa uma coluna de um DataTable.

 É representada pela propriedade Columns do

DataTable.

(164)

Desenvolvimento de Aplicativos Web I

Propriedades de um DataColumn

 DataType

16

4

 DataType

 Representa o tipo da coluna(string,int).  MaxLength

 Representa o máximo de caracteres permitidos.  Unique

 Indica se a coluna poderá ter valores duplicados.  AllowDbNull

(165)

Desenvolvimento de Aplicativos Web I

Propriedades de um DataColumn

 Caption

16

5

 Caption  Nome da coluna.  Expression

 Representa uma expressão para uma coluna do tipo

calculada.

(166)

Desenvolvimento de Aplicativos Web I

Propriedades de um DataColumn

 AutoIncrement

16

6

 AutoIncrement

 Indica se a coluna irá ter um autoincremento para as

novas linhas adicionadas no DataTable .

 AutoIncrementSeed

 Representa o valor inicial para a coluna com

autoincremento.

 AutoIncrementStep

 Representa o número pelo qual o valor da coluna é

(167)

Desenvolvimento de Aplicativos Web I

Propriedades de um DataColumn

 ColumnName

16

7

 ColumnName

 Representa o nome da coluna .  DefaultValue

 Representa o valor padrão para a coluna ao ser

adicionada numa linha.

 ReadOnly

 Indica se a coluna permite alterações ao ser adicionada

(168)

Desenvolvimento de Aplicativos Web I

Propriedades de um DataColumnCollection

 Count

16

8

 Count

(169)

Desenvolvimento de Aplicativos Web I

Métodos de um DataColumnCollection

 Add

16

9

 Add

 Inclui uma coluna na coleção de colunas de um

DataTable.

 Clear

 Exclui as colunas de um DataTable.  Contains

 Verifica se já existe uma coluna com um específico

nome.

 Remove

(170)

Desenvolvimento de Aplicativos Web I

Criando um DataColumn.

17

0

(171)

Desenvolvimento de Aplicativos Web I

Criando um DataColumn.

17

1

(172)

Desenvolvimento de Aplicativos Web I

Definindo colunas como chaves primárias

 Uma chave primária poderá ser composta por uma ou mais

17

2

 Uma chave primária poderá ser composta por uma ou mais

colunas de um DataTable.

 A chave primária irá representar uma identidade única para

(173)

Desenvolvimento de Aplicativos Web I

Definindo colunas como chaves primárias

17

3

(174)

Desenvolvimento de Aplicativos Web I

Copiando e clonando um DataTable

17

4

Referências

Documentos relacionados

43, tradução nossa e reconhecem o papel fundamental dos meios de comunicação social na alteração da representação dos idosos: b Encorajar os meios de comunicação a promover

Todo ser humano é único e, por isso, toda sala de aula é um berço de diversidade. O que os sistemas educacionais fizeram ao longo dos tempos foi homogeneizar o sistema educacional

4 - Valores da Refl ectância Bidirecional (em fração, de 0 a 1) versus o comprimento de onda central da banda obtidos para a vegetação na imagem sem correção atmosférica e

Por isso na década de 1960 a prefeitura resolve criar não só o baile, mas também o chamado Voo do Frevo, que tinha por objetivo não só trazer artistas do sul e do sudeste do país

Diante do exposto, pode ser observado que a estabilidade química de poliésteres em sistemas de liberação em sua forma micro e nanoestruturada foi investigada e que

Para eficiência biológica, de forma geral, utiliza-se a comparação de produtividades entre sistemas (monocultivo e cultivo consorciado), sendo avaliados a partir de

Para reverter essa situa~ão, o setor tel que se tornar aais eficiente e versátil no trata.ento dos recursos florestais.. Pelas suas características tecnológicas, as quais perlitel

4 RESULTADOS E DISCUSSÃO 4.1 Caracterização da cobertura florestal e da biodiversidade vegetal no entorno dos cultivos de tomate na região de Apiaí-SP a Módulos