Escolar Documentos
Profissional Documentos
Cultura Documentos
ACESSO BANCO DE
DADOS
EM ASP.NET 2.0
1
INTRODUO
Introduo
Aplicativos
Introduo
Diagrama
do Banco de Dados
Introduo
Server
Explorer
Introduo
Visualizando
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
DataSource Controls
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
11
DataSources
Configurando
um SqlDataSource
12
DataSources
Configurando
um SqlDataSource
13
DataSources
Cdigo
Gerado Automaticamente
14
DataSources
Vinculando
SqlDataSource s Listas
O que ser
Exibido
O que ser
Retornado
15
DataSources
Vinculando
SqlDataSource ao GridView
16
DataSources
SqlDataSource
com Parmetros
17
DataSources
Resultado
18
ADO.NET
19
ADO.NET
ADO.NET
DataSet
21
ADO.NET
Criando
um DataSet Manualmente
22
ADO.NET
Atribuindo
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
1. Arraste um DropDownList para a
DataBind
que o controle renderize as informaes no
tela e defina apara
propriedade
id=ddlUsuarios
browser.
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. .NET Framework Data Provider for SQL Server
Para o Microsoft SQL Server verso 7.0 ou superior. Usa o
namespace System.Data.SqlClient
2.
ADO.NET
Principais
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
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
No esquecer de adicionar a
namespace
System.Data.OracleClient
29
ADO.NET
DataReader
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
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
34
ADO.NET
Usando
o Parameter
35
ADO.NET
Resultado
DATASET TIPADO
37
DataSet Tipado
DataSet
Tipado
DataSet Tipado
TableAdapters
DataSet Tipado
Criando
um TableAdapter
40
DataSet Tipado
Usando
um ObjectDataSource
41
DataSet Tipado
Criando
42
DataSet Tipado
Usando
43
DataSet Tipado
Usando
44
DESENVOLVIMENTO EM
CAMADAS
45
Classes de Negcio
Desenvolvimento
em Camadas
Classes de Negcio
Camada
de Acesso a Dados
de Regras de Negcio
de Apresentao
CLASSE DE ACESSO A
DADOS
48
Enterprise Library
http://msdn.microsoft.com/en-us/library/cc467894
49
50
de Dados Default
52
TextBox
ID = txtPesquisa
Button
ID = btnPesquisar
GridView
ID = GridViewPesquisa
Label
Id = lblResp
Visible = False
53
Incluso
TextBox1
ID = txtCodigo
TextBox2
ID = txtNome
Label
ID = lblMensagem
Text =
Button
ID = btnIncluir
54
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
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
62
Classes de Negcio
Negcio
63
Classes de Negcio
Controller
Adicione os NameSpaces
64
Classes de Negcio
Pgina
Na pgina:
Carregue uma comboBox com os Status da Tabela.
Crie dois botes: Alterar e Excluir
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
Clique em Connect,
para escolher o destino
A
esquerda:
Arquivos
de sua
aplicao
3
A direita:
Arquivos
de
destino
68
FIM
Muito Obrigado !
Dvidas:
doria@brasilcenter.com.br
69