Você está na página 1de 69

WEB02

ACESSO BANCO DE DADOS EM ASP.NET 2.0

INTRODUO

Introduo

Aplicativos web acessam com muita frequncia fontes de dados para o armazenamento e recuperao de informaes. Na plataforma .NET existem vrias formas de se fazer isso, veremos a seguir as tcnicas mais usadas:
DataSource Controls ADO.NET DataSet Tipado e TableAdapters Classes de Negcio
3

Introduo

Diagrama do Banco de Dados


ARQUIVO TNS NAMES

#Sistemaco Desenv SISTEMACO_DESENV.WORLD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.9.74)(PORT = 1521)) (CONNECT_DATA = (SID = CCD1OST1)) )

Introduo

Server Explorer
Permite visualizar o banco de dados
Criando uma Conexo 1. Clique com o boto direito em Data Connections e selecione opo Add Connection... 2. Ser exibida uma tela Choose Data Souce com uma lista de opes de fontes de dados, selecione Microsoft SQL Server. 3. Na dropdownList abaixo ser exibido as opes de Provides disponveis para a fonte de dados selecionada. Selecione .NET Framework Data Provider for SQL Server. Aperte Continue 4. Ser exibida a tela Add Connection. - Digite o nome ou IP do servidor: 192.168.0.1 - Selecione o tipo de autenticao: SQL Server - Digite o usurio do banco de dados: alunocurso - Digite a senha: alunocurso - Selecione o banco de dados: Northwind_br - Para finalizar aperte o boto para testar a conexo e depois OK. 5

Introduo

Visualizando os campos das tabelas

Exibindo as Propriedades 1.Expanda os itens da conexo e depois da tabela. 2.Ser exibido todas as tabelas. 3.Expanda os itens da tabela. Ser possvel ver todos os campos. 4.Para saber mais detalhes sobre o campo, clique com o boto direito do mouse e selecione propriedades.

DATASOURCE CONTROLS

DataSource Controls

Normalmente voc vai criar cdigos para acessar dados usando as classes do ADO.NET, porm o ASP.NET permite voc fazer isso declarativamente, sem a necessidade de criar cdigo nenhum. O ASP.NET possui dois tipos de Server Controls que permitem o uso do modelo de acesso a dados declarativo. Esses controles gerenciam internamente todas as tarefas necessrias para o acesso e exibio dos dados, so eles:
Data Souce Controls
Data-Bound Controls
8

DataSource Controls

Data Souce Controls


So responsveis por se conectar ao banco de dados. Esses controles no geram nenhuma interface visual, em vez disso ele age como intermediador entre uma fonte de dados (banco de dados, classe de negcio ou arquivo XML) e os controles de interface da pgina. O ASP.NET disponibiliza os seguintes datasources:
AccessDataSource Banco de dados do Microsoft Access XmlDataSource Arquivo XML SiteMapDataSource Arquivo do tipo Sitemap ObjectDataSource Classes de Negcio. SqlDataSource - Provedores de dados gerenciados do ADO.NET, que fornecem acesso a bancos de dados Microsoft SQL Server, OLE DB, ODBC ou Oracle.

DataSource Controls

Data-Bound Controls
Os Data-Bound Controls so responsveis por renderizar os dados no formato de tags html conforme a requisio do browser. Esses controles se ligam aos DataSource Controls e automaticamente buscam os dados no momento apropriado no ciclo de vida da pgina. Eles se conectam aos DataSources Controls atravs da propriedade DataSourceID. Os data-bound controls possuem tambm a propriedade DataSource para atribuio de colees de dados e o mtodo DataBind para vinculao dos dados em tempo de execuo. Veremos isso com mais detalhes adiante. O ASP.NET disponibiliza os seguintes Data-Bound Controls:
BulletedList, CheckBoxList, DropDownList, ListBox, RadioButtonList, Repeater, DataList, DetailsView, FormView, GridView, Menu e TreeView

10

DataSource Controls

Tratando Excees de Pgina


Como no haver codificao para o acesso a dados importante criarmos um tratamento de erros a nvel de pgina.
1. 2. 3. 4. 5. 6. Crie um novo website chamado cursoweb02 Crie um webform chamado aula1.aspx Quando uma exceo acontece, o evento Error da Pgina acionado. Iremos programar neste evento. Para capturar o ltimo erro, declare um objeto do tipo Exception e atribua a ele o mtodo Server.GetLastError Com o erro capturado exiba a mensagem em algum lugar na tela Execute o mtodo ClearError para limpar o erro da memria.

11

DataSources

Configurando um SqlDataSource
1. Arraste um SqlDataSource, localizado na categoria Data, para dentro do webform 2. Ser exibido o controle na tela juntamente com seu SmartTag, clique em Configure Data Source

3. Na tela configure DataSource voc pode criar uma nova conexo ou usar uma existente. Vamos abrir a dropdownlist e selecionar a conexo que criamos anteriormente. Repare que ser exibido a String de Conexo com o banco de dados.
4. Aperte o boto Next

12

DataSources

Configurando um SqlDataSource
1. Ser exibida uma nova tela perguntando se deseja salvar a String de Conexo com o banco de dados no web.config. Marque que sim e d um nome a essa ConectionString. Isso ser importante para que sempre que precisarmos acessar o banco de dados termos essa informao guardada em um nico local. 2. D o nome: Treinamento 3. Aperte o boto Next. 4. Ser exibida uma tela para voc optar se vai usar uma instruo SQL customizadas, uma Stored Procedure ou se vai especificar direto o nome da tabela e campos que deseja exibir. 5. Selecione a segunda opo, escolha a tabela STATUS_REQUISICAO_SERVICO e selecione todos os campos. 6. Aperte Next 7. Para testar o select aperte o boto Test Query

8. Aperte Finish

13

DataSources

Cdigo Gerado Automaticamente

1. Abra o arquivo web.config


2. Repare que foi adicionada uma entrada com o nome de Treinamento com as configuraes da nossa conexo. 3. Na pgina aula1.aspx clique no modo de exibio Source. 4. Repare que o controle guarda todas as instrues SQL e os parmetros necessrio para manipular a tabela.

14

DataSources

Vinculando SqlDataSource s Listas


O que ser Exibido

1. Clique no SqlDataSource e defina sua propriedade ID com o nome SqlDataSourceStatus 2. Arraste para tela os seguintes controles: - DropDownList - RadioButtonList 3. Clique no SmartTag e escolha a opo Choose DataSource

4. Ser exibida uma tela onde ir selecionar nosso SqlDataSource


5. Nas listas abaixo voc dever selecionar qual campo ser exibido e qual ser retornado internamente pelo controle. 6. Selecione DEscricao na primeira lista (display) e id_satatus (value) na segunda. 7. Execute a pgina para ver o resultado.

O que ser Retornado

15

DataSources

Vinculando SqlDataSource ao GridView

1. Arraste um GridView para o webform 2. Clique no SmartTag e na lista Choose DataSource selecione nosso SqlDataSourceStatus 3. Clique na opo Auto Format... e escolha o scheme Professional (ou qualquer outro) 4. Marque as opes: - Paging Paginao - Sorting Ordenao - Editing Edio - Deleting Excluso - Selection Seleo 5. Execute a pgina e veja o resultado.

16

DataSources

SqlDataSource com Parmetros

1. Crie acima do GridView os seguintes controles: - Label: text=Protudo - TextBox: id=txtProduto - Boto: text=Pesquisar 2. Clique no SmartTag do SqlDataSourceStatus e selecione a opo Configure DataSouce 3. Na configurao da instruo SQL aperte o boto para definirmos a clusula WHERE.

4. Na tela seguinte escolha as seguintes opes: - Column: Produto - Operator: Like - Source: Control - Control ID: txtProduto
5. Aperte o boto Add e depois OK

17

DataSources

Resultado

18

ADO.NET

19

ADO.NET

ADO.NET separou em classes distintas, componentes para acesso a dados e componentes para manipulao de dados Os componentes responsveis pelo acesso a dados so os Providers. Eles so encarregados pela conexo com uma fonte de dados, execuo de comandos e a recuperao das informaes. Uma vez que o Provider busca os dados, eles podem ser processados diretamente ou armazenados em um Dataset para a manipulao dos dados. O Dataset pode ser usado com um Provider, ou de forma independente, com informaes inseridas pelo aplicativo ou arquivos XML. As classes do ADO.NET so encontradas no namespace System.Data

ADO.NET

DataSet
O DataSet o componente central no cenrio dos dados desconectados do ADO.NET. Ele a representao em memria do banco de dados.

21

ADO.NET

Criando um DataSet Manualmente

1. Crie a pgina aula2.aspx

2. Solicite o cdigo ao lado ao instrutor e o copie no mtodo Load da pgina


3. Importe o namespace System.Data 4. Instancie o DataSet 5. Instancie o DataTable j passando como parmetro o nome da tabela. 6. Adicione a tabela coleo de DataTables do DataSet usando o mtodo Add. 7. Instancie um DataColumn para cada coluna do seu DataTable j passando como parmetros o nome da coluna e o tipo de dados. 8. Adicione a coluna coleo de colunas do DataTable usando o mtodo Add 9. Repita esse processo para adicionar quantas colunas quiser 10. Para adicionar uma linha ao nosso DataTable declare o DataRow e sua instancia ser criada a partir do mtodo NewRow do DataTable 11. Atribua as colunas o valor que desejar 12. Adicione a linha a coleo de linhas do DataTable usando o mtodo Add

22

ADO.NET

Atribuindo dados aos Data-Bound Controls


Conforme comentando anteriormente os Data-Bound Controls expem a propriedade DataSource e o mtodo DataBind para a vinculao de colees. A propriedade DataSource pode receber vrios tipos de colees de dados como DataSets, DataTables e DataReaders. necessrio executar o mtodo DataBind para que o controle renderize as informaes no browser.
1. Arraste um DropDownList para a tela e defina a propriedade id=ddlUsuarios 2. No Load da pgina, depois de criar o DataSet, defina as proprieades DataTextField e DataValueField com o nome das colunas do DataSet que desejar 3. Atribua o DataSet a propriedade DataSource do ddlUsuarios 4. Execute o mtodo DataBind do ddlCargos. 5. Rode a pgina.

23

ADO.NET

Providers
Eles so encarregados pela conexo com uma fonte de dados, execuo de comandos e a recuperao das informaes. Existem 4 providers nativos do .Net Framework:
1. 2. 3. .NET Framework Data Provider for SQL Server Para o Microsoft SQL Server verso 7.0 ou superior. Usa o namespace System.Data.SqlClient .NET Framework Data Provider for OLE DB Para fontes de dados acessadas atravs de OLE DB. Usa o namespace System.Data.OleDb .NET Framework Data Provider for ODBC Para fontes de dados acessadas atravs de ODBC. Usa o namespace System.Data.Odbc .NET Framework Data Provider for Oracle Para o Oracle verso 8.1.7 ou superior. Usa o namespace System.Data.OracleClient
24

4.

ADO.NET

Principais Classes que compem um Provider


Connection Estabelece a conexo com uma determinada fonte de dados. Command Executa comandos em uma fonte de dados. Podem ser executados em um escopo de transao. Possui uma propriedade Parameters para guardar os parmetros associados ao comando. DataReader Armazena dados recuperados de uma fonte de dados, mas limitado somente para Leitura e navegao para frente (forward-only).

DataAdapter Responsvel em preencher um DataSet com informaes vindas de uma fonte de dados.
25

ADO.NET

Connection
Representa a conexo com a fonte de dados Classes de acordo com o tipo de Provider: OleDBConnection, OdbcConnection, SqlConnection e OracleConnection Principais propriedades e mtodos: ConnectionString String de conexo com o banco de dados. Utilize o ConfigurationManager.ConnectionStrings para recuperar essa informao do web.config. Open Abre a conexo com o banco de dados BeginTransaction Inicia uma transao Close Fecha a conexo com o banco de dados

26

ADO.NET

Criando uma Connection

1. Arraste os seguintes controles para o webform: - Boto: id=btnConectar; text=Conectar - Label: id=lblStatus; text= 2. Abra o evento clique do boto

3. Instancie uma conexo


4. Atribua a propriedade ConnetionString a nossa connectionString guardada no web.config. Para fazer isso voc vai usar a classe ConfigurationManger. 5. Abra a conexo

6. Crie uma linha comentada marcando o local onde ficar a codificao para efetuar os comandos na fonte de dados
7. Feche a conexo 8. Exiba na tela uma mensagem na tela de que os comandos foram concludos.

27

ADO.NET

Command
Representa um instruo SQL ou Stored Procedure para ser executada em uma fonte de dados Classes de acordo com o tipo de Provider: OleDBCommand,OdbcCommand,SqlCommand e OracleCommand Principais propriedades e mtodos: Connection Conexo com o banco que ser usada CommandType Tipo de Comando (Text, StoredProcedure ou TableDirect)

CommandText Instruo SQL ou nome da StoredProcedure


Transaction Recebe o objeto de transao na qual o comando ser executado. ExecuteReader Executa o comando e retorna um DataReader ExecuteScalar - Executa uma query e retorna a primeira coluna e linha do resultado ExecuteNonQuery - Executa um comando e retorna quantos registros foram afetados.
28

ADO.NET

Criando um Command
1. No local que separamos para codificao, instancie um OracleCommand 2. Atribua a conexo ativa a propriedade Connection do Command 3. Defina o CommandType como do tipo Text 4. Atribua a instruo SQL a propriedade CommandText 5. Execute o mtodo ExecuteReader 6. Atribua o resultado a um objeto OracleDataReader 7. Popule um GridView com o resulado desse objeto.

No esquecer de adicionar a namespace System.Data.OracleClient

29

ADO.NET

DataReader
Armazena dados recuperados de uma fonte de dados. Muito veloz, mas somente para Leitura e navegao para frente (forward-only) Classes de acordo com o tipo de Provider: OleDBDataReader, OdbcDataReader, SqlDataReader e OracleDataReader

30

ADO.NET

DataAdapter
Responsvel em preencher um DataSet ou DataTable com informaes vindas de uma fonte de dados. O DataSet independente do DataSource e ele pode ter dados de mltiplos DataSources diferentes; esses DataSources so controlados atravs do DataAdapter. Classes de acordo com o tipo de Provider: OleDBDataAdapter, OdbcDataAdapter, SqlDataAdapter e OracleDataAdapter Principais propriedades e mtodos: SelectCommand Command que ser usado no mtodo Fill. Pode ser atribudo no contrutor da classe. Fill Preencho o DataSet ou DataTable que recebe por parmetro

31

ADO.NET

Usando o DataAdapter
1. Adapte o cdigo anterior para usar um DataSet em vez de um DataReader 2. Instancie DataSet com o nome de dsCargos 3. Instancie um OracleDataAdapter com o nome de meuDataAdapter passando como parmetro oOracleCommand que iremos usar para preencher o DataSet

4. Chame o mtdo Fill passando como parmetro o DataSet que queremos preencher.
5. Atribuia o DataSet ao GridView

32

ADO.NET

Parameter
Responsvel por armazenar os parmetros que sero usados nos Commands. So muito importantes para evitar SQL Injection. Classes de acordo com o tipo de Provider: OleDBParameter, OdbcParameter, SqlParameter e OracleParameter Os parmetros na instruo SQL do Command sero substitudos por ?, no caso do Provider for OLE DB e @nomeparamentro, no caso do SQL Server

Principais propriedades e mtodos:


Direction Se o parmetro de entrada, sada, bidirecional ou o retorno de uma StoredProcedure. ParameterName Nome do parmtro

Type Tipo de dado


Value - Valor
33

ADO.NET

Usando o Parameter

1. Arraste um GridView para a pgina, altere o ID para GridViewClientes e arrume os controles para que fiquem posicionados conforme a imagem ao lado. 2. Altere a propriedade AutoPostback do ddlCargos para True 3. Altere o Load da pgina para carregar o cdigo inicial da ddlCargos somente se no for um postback. Verifique a propriedade da pgina usando o cdigo If not Page.IsPostBack 4. Abra o evento ddlCargo_SelectedIndexChanged clicando duas vezes sobre o dropdownlist. Iremos copiar o cdigo que inserimos no boto btnConectar para este evento e fazer as alteraes para efetuar uma pesquisa de clientes por cargo. 5. Altere o CommandText para a nova Instruo Sql: Select * from clientes where cod_cargo = @cod_cargo. Repare o nome do objeto parmetro que teremos que criar no Command. 6. Instancie um objeto OracleParameter para criar o parmetro e definas as seguintes propriedades: - Direction=Input; DbType=String - ParameterName=Cod_Cargo - Value=ddlCargo.SelectedValue 7. Adicione o Parameter a coleo de Parameters do objeto Command. 8. Execute a pgina

34

ADO.NET

Usando o Parameter

35

ADO.NET

Resultado

DATASET TIPADO

37

DataSet Tipado

DataSet Tipado
O DataSet Tipado uma classe que deriva da classe do DataSet, herda todos seus mtodos, eventos e propriedades. Adicionalmente o DataSet Tipado possui eventos, mtodos e propriedades fortemente tipadas, isso significa que voc pode acessar as tabelas e colunas diretamente pelos seus nomes, em vez de passar como parmetro por uma string. Alm de melhorar a leitura do cdigo, permite que o intellisense do Visual Studio complete o cdigo para voc ao referenci-lo, isso previne contra erros de digitao somente detectados em tempo de execuo.

38

DataSet Tipado

TableAdapters
Voc pode pensar no TableAdapter como um DataAdapter com seu prprio objeto de conexo e a habilidade de conter mltiplas queries. Cada query exposta ao aplicativo atravs de mtodos pblicos. Tipicamente contm os mtodos Fill e Update, para buscar e atualizar dados respectivamente. Enquanto o DataAdapter uma das principais classes dos .NET Framework Data Providers, o TableAdapeter uma classe gerada separadamente em tempo de desenho atravs do DataSet Designer. Voc pode cri-lo no mesmo momento que estiver criando os DataSets Tipados atravs do Configuration Wizard ou arrastando do DataBase Explorer para dentro do DataSet Designer.
39

DataSet Tipado

Criando um TableAdapter

1. Clique com o boto direito na raiz do seu projeto, clique em Add ASP.NET Folder e selecione App_Code 2. Clique com o direito do mouse em App_Code e selecione Add New Item 3. Selecione a opo DataSet e d o nome de DsStatus 4. Automaticamente abrir o TableAdapter Configuration Wizard 5. Ser apresentado a conexo que est armazenada no seu web.config, aceite-a e aperte ao boto Next 6. Ser perguntado como o TableAdapter acessar o banco de dados. Selecione Use SQL Statments e aperte Next 7. Na tela seguinte , na caixa de texte digite a instruo SQL: Select * from status_requisicao_servico 8. Aperte a opo Advanced Options e marque as opes: Generete Insert, Update e Delete; Refresh the data table. Aperte OK 9. Aperte Next 10. Nesta tela ser apresentado se deseja criar os mtodos de preencher um DataTable (Fill), Retornar um Datatable (GetData) e os de atualizao de dados. Aceite as sugestes e aperte Next e Finish

40

DataSet Tipado

Usando um ObjectDataSource
O ObjectDataSource permite ligar um Data-Bound Control a classes de negcio de forma declarativa.
1. Crie um novo webform chamado aula3.aspx 2. Arraste um ObjectDataSouce para a tela e clique em Configure DataSource 3. Selecione o TableAdapter que criamos anteriormente, ele estar com o nome de dsClientesTableAdapters.clientesTableAdapter. Aperte Next 4. Voc vai reparar que ele vai mapear as operaes de Select, Update, Insert e Delete aos mtodos do TableAdapter. 5. Aperte Finish 6. Arraste um GridView para o webform, escolha o estilo Professional no Autoformat e em Choose DataSource selecione o que acabamos de criar.

7. Voc vai perceber que ser disponibilizado todas as funcionalidades que vimos atravs do SQLDataSource. Selecione todas elas.
8. Execute a pgina

41

DataSet Tipado

Criando Nova Query no TableAdapter


1. Abra o DataSet dsStatus 2. Clique com o direto do mouse no cabealho do TableAdapter 3. Selecione Add Query

4. Ser exibido o wizard. Selecione a opo use SQL Statment


5. Escolha a primeira opo: Select com retorno de linhas

6. Digite no campo a instruo SQL: SELECT * FROM status_requisicao_servico WHERE nm_descricao_status LIKE '%' + :nome + '% 7. Aperte Next 8. Digite o nome FillByNome para o mtodo de preenchimento de DataTable e GetDataByNome para o de retorno de um DataTable. 9. Aperte Finish 10. Selecione o novo mtodo, v a janela de propriedades e clique no boto .... Altere o tipo do parmetro para String

42

DataSet Tipado

Usando o TableAdapter via Cdigo


1. Arraste para baixo do gridview do exemplo anterior os seguintes controles: - TextBox: id=txtPesquisa - Boto: id=btnPesquisar; text=Pesquisar - GridView: id=GridViewPesquisa; AutoFormat=ColoFull 2. Abra o evento btnPesquisa_Click 3. Instancie um objeto dsTableAdapter do tipo dsStatusTableAdapter 4. Atriba ao DataSource da Gridview o mtodo GetDataByNome passando como parmetro o valor preenchido na txtPesquisa. Depois execute o DataBind. 5. Execute a pgina.

43

DataSet Tipado

Usando o DataSet Tipado via Cdigo

1. Arraste um boto para baixo da ltima GridView e altere as seguintes propriedades: - Boto: id=btnCriaDataSet; text=Cria DataSet Tipado - Label: id=lblResultado; text= 2. Crie um Sub com o nome de ProcessaDados que recebe como parmetro um DataRow tipado com o nome de RowProcessar. 3. Programe esta sub para atribuir ao label os dados do cliente. 4. Abra o evento btnPesquisa_Click 5. Instancie um objeto DataSetClientes do tipo dsClientes 6. Declare um DataRowClientes do tipo DsClietnes.clienteRow e instancie ele chamando o mtodo NewclientesRow 7. Preencha o DataRow com informaes do cliente e passe-o como parmetro para a sub ProcessaDados

44

DESENVOLVIMENTO EM CAMADAS

45

Classes de Negcio

Desenvolvimento em Camadas
Camadas Lgicas (Layers)
Separao Lgica do cdigo em diferentes camadas de acordo com responsabilidades
Camada de Apresentao Camada de Negcios

Camada de Acesso a Dados

Normalmente as classes esto separadas em diferentes Projetos Reaproveitamento de cdigo

Fcil manuteno.

46

Classes de Negcio

Camada de Acesso a Dados


Responsvel por interagir com o Banco de Dados e instanciar as respectivas classes de acesso.

Camada de Regras de Negcio


Responsvel por definir o que solicitar e inserir no banco. Ex.: Classe de Negcios Cliente, Cargos e etc... ORM - Object-relational mapping

Camada de Apresentao
Responsvel por receber as informaes externas e interagir com o usurio. Ex.: Pgina Web, Windows Form, Pgina Mobile, etc...
47

CLASSE DE ACESSO A DADOS

48

Classe de Acesso a Dados

Microsoft Enterprise Library


Enterprise Library uma coleo de componentes de software (os conhecidos application blocks) criada para auxiliar no desenvolvimento das atividades comuns de um projeto de software (tais como logging, validao, caching, tratamento de erros e muitos outros).

Os Application blocks so como guias de boas prticas de desenvolvimento recomendadas pela Microsoft, incluindo cdigo fonte e documentao. Como no poderia ser diferente, os desenvolvedores podem estender ou modificar o cdigo de acordo com a necessidade.
Documentao e Download: http://msdn.microsoft.com/en-us/library/cc467894.aspx
49

Classe de Acesso a Dados

Data Access Application Block


O Data Acess Application Block simplifica vrias tarefas de acesso a dados. As funcionalidades do ADO.NET so encapsuladas em mtodos que tornam as suas classes muito fceis e produtivas de se usar.

50

Classe de Acesso a Dados

Data Access Application Block - DAAB


O DAAB simplifica vrias tarefas de acesso a dados que em um aplicativo so executadas freqentemente, como:
Definir o banco de dados Definir a string de conexo Definir o provedor Abrir a conexo Definir a forma de acesso: comandos SQL ou Stored Procedures Definir comandos Executar comandos Fechar a conexo

As funcionalidades do ADO.NET so encapsuladas em mtodos que tornam as suas classes muito fceis e produtivas de se usar.
51

Classe de Acesso a Dados

Banco de Dados Default


Para cada conexo possvel definir qual ConnectionString do web.config se deseja usar, mas possvel definir uma padro para no precisar informar toda hora caso utilize somente uma. Basta adicionar no web.config a seguinte referencia:

Solicite o cdigo do web.config ao instrutor

52

Classe de Acesso a Dados

Efetuando Pesquisas com Parmetros


TextBox ID = txtPesquisa Button ID = btnPesquisar GridView ID = GridViewPesquisa Label Id = lblResp Visible = False

53

Classe de Acesso a Dados

Efetuando Incluso

TextBox1 ID = txtCodigo TextBox2 ID = txtNome Label ID = lblMensagem Text = Button ID = btnIncluir

54

Classe de Acesso a Dados

Efetuando Update
Button ID = btnAtualizar

Efetuando Excluso
Button ID = btnExcluir

55

CLASSES DE NEGCIO

56

Classes de Negcio

Classe de Negcio
Propriedades
Campos da Tabela SGBD

Registros
DataSet

Mtodos
LimpaPropriedades()

InsertQuery()
ProxCod() UpdateQuery() DeleteQuery() SelectQuery() MontaWhere() AdicionarParamentrosWhere() NothingIfNull()
57

Estrutura de Projeto Padro MVC

Dentro da pasta reservada App_code, colocaremos 3 subPastas (Controller/Data/Model). Essas SubPastas representam as diferentes camadas da aplicao. Segue um breve resumo dessas camadas:
Controller: Camada onde ficam os controladores das pginas. Cada pgina da aplicao dever ter um controller associado. Data: Onde ficam os DataSets tipados utilizados pela aplicao. Model: Essa camada representa o Negcio da aplicao, nela que ficaro as classes de negcio da aplicao

Classes de Negcio

Exemplos de Classe de Negcio

Classes dentro do Controller

Classes dentro da Classe de Negcio

59

Classes de Negcio
Mtodo Salvar no Controller chamando o Mtodo Inserir da Classe de Negcio Entrevista

60

Classes de Negcio
Mtodo Deletar.. no Controller chamando o Mtodo Apagar... da Classe de Negcio Entrevista. Observem que neste caso, o Mtodo Apagar.. No utiliza parmetros, ao invs disso ele concatena na query o valor passado pelo Controller. Essa tambm uma possibilidade, apesar de no ser a melhor escolha. Sempre que possvel, utilizem paramtros. mais seguro.

61

Classes de Negcio

Efetuando Operaes em Camadas

Aproveitando o nosso exemplo, vamos criar o procedimento em camadas utilizando Controller e classe de Negcio. Faremos os mtodos Update e Delete. Primeiro, vamos adicionar as 3 pastas ( Data / Controller / Model) dentro da pasta App_Code. Criamos agora um Controle com o nome de cTreinamento e adicionamos na pasta Controller. Criamos agora uma Classe de Negcio nTreinamento e adicionamos na pasta Model.

62

Classes de Negcio

Negcio

Crie dois Mtodos na classe de Negcio nTreinamento.Alterar e Listar, conforme descrito ao lado.

63

Classes de Negcio

Controller
Adicione os NameSpaces

Crie dois mtodos: Listar e Alterar, conforme a imagem ao lado.

64

Classes de Negcio

Pgina
Na pgina: Carregue uma comboBox com os Status da Tabela. Crie dois botes: Alterar e Excluir

Adicionem essas NameSpaces.

Adicione o Controlador da Pgina conforme descrito ao lado. No esquea da Instruo (if (!IsPostBack), que significa: Quando no for um PostBack. Carregue a Combo

65

Classes de Negcio

Pgina

Na pgina: D dois cliques no boto Alterar em modo Design, e o Visual Studio cria automaticamente o evento Click do boto no modo Server da pgina. Programeo conforme o cdigo abaixo.

66

PUBLICANDO O WEBSITE

Introduo ao C#

Copy Web Site


Copie os dados para o servidor de aplicao atravs de uma conexo FTP.

1 2
A esquerda: Arquivos de sua aplicao

Clique em Connect, para escolher o destino

3
A direita: Arquivos de destino

68

FIM

Muito Obrigado !
Dvidas: doria@brasilcenter.com.br

69

Você também pode gostar