SlideShare a Scribd company logo
1 of 50
Programação C
Faculdade Dom Bosco de Porto Alegre
Bacharelado em Sistemas de Informação
Prof. Filipo Mór
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Agenda
• Conceitos Básicos.
• Banco de Dados.
• Revisão SQL.
• Acesso a dados com ADO.Net.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Revisando conceitos básicos
Conceitos
• Banco de Dados
• É uma coleção de dados inter-relacionados, representando informações sobre um
domínio específico
• Ex.: Lista Telefônica, Fichas de acervo de Biblioteca
• Sistema Gerenciador de Banco de Dados
• São softwares que permitem a definição de estruturas para armazenamento de
informações e fornecimento de mecanismos para manipulá-las
• Características:
• Integridade, Restrições, Segurança/Privacidade, Restauração, Eficiência
• Ex.: SQL Server, Oracle, PostgresSQL, MySQL
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Conceitos
• Dado
• Conjunto de símbolos “arranjados” a fim de representar a informação fora da mente
humana.
• Elementos de Dados
• Subconjunto de símbolos que compõem um dado com significado específico, mas não
representa a informação completa.
• Ex.: O número de alunos na turma MAT01 de 2008 é 79.
• Os elementos de dados são:
• Turma: MAT01
• Ano: 2008
• Alunos: 79
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Banco de Dados
Banco de Dados
• Tabelas
• Objeto criado para armazenar os dados fisicamente
• Os dados são armazenados em linhas (registros) e colunas
(campos)
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Banco de Dados
• Registros
• São linhas de uma tabela
• Armazenam um conjunto de dados pré-definido pela tabela
• Campos
• São as colunas de uma tabela
• Possuem um tipo de dado definido
• Armazenam um dado
• Chave Primária
• Campo que permite a identificação única de um registro em uma tabela
• Chave Estrangeira
• Campo que referencia uma Chave Primária de um outro registro
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Banco de Dados
• Índices
• É uma ferramenta usada pelo gerenciador de Banco de Dados para facilitar a busca de
linhas dentro de uma tabela.
• Índice Único
• Índice criado a partir de uma coluna ou de um conjunto de colunas. Não permite a
inclusão de linhas duplicadas.
• Índice de Performance
• Otimiza o processo de busca de linhas na tabela.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Banco de Dados
• Exemplo:
• Um editora possui vários livros
• Um livro é de somente uma editora
• Um livro possui vários autores
• Um autor possui vários livros de sua autoria
Editora
PK codigo
nome
Livro
PK codigo
titulo
ano
FK1 codEditora
Autor
PK codigo
primeiroNome
ultimoNome
LivroAutor
PK,FK1 codLivro
PK,FK2 codAutor
Notação:
PK – chave primária (nome do campo sublinhado)
FK – chave estrangeira
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
SQL Básico
Banco de Dados
CLIENTE
PK CLI_COD
CLI_NOME
CLI_END
I1 CLI_CNPJ
NOTA_FISCAL
PK NF_NRO
NF_DATA
NF_CLI
NF_CFOP
FK1 CLI_COD
PRODUTO
PK PROD_COD
PROD_DESC
PROD_IPI
PROD_UNIT
PROD_QTD
ITEM_NF
PK,FK2 NF_NRO
PK ITEM_COD
ITEM_VALOR
ITEM_QTD
FK1 PROD_COD
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Criar Tabelas
CREATE TABLE [cliente](
[cli_cod] [int] PRIMARY KEY IDENTITY(1,1),
[cli_nome] [varchar](50) NOT NULL,
[cli_end] [varchar](50) NULL,
[cli_cnpj] [char](11) NOT NULL
)
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Inserir Registro
INSERT INTO [cliente]
([cli_nome],[cli_end],[cli_cnpj])
VALUES
('Bill Gates','Quinta Avenida','12345678900')
• Se a tabela possui um campo identity, não é permitido definir
manualmente o valor para este campo
• Se um campo foi definido como NOT NULL então é necessário especificar
seu valor
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Alterar Registro
UPDATE [cliente]
SET [cli_end] = 'Sete de Setembro'
WHERE [cli_cnpj] = '12345678900'
• Ao atualizar um registro, especifique as colunas a serem alteradas
• A cláusula WHERE é opcional, se for omitida então a atualização ocorrerá
em todos os registros, senão ela ocorrerá somente nos registros
selecionados
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Deletar Registro
DELETE FROM [cliente]
WHERE [cli_cnpj] = '12345678900'
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Selecionar Registros
• Todas as colunas da tabela cliente
SELECT * FROM cliente
• Coluna com o código e o nome da tabela cliente
SELECT cli_cod, cli_nome FROM cliente
• Todos as colunas da tabela cliente onde o nome comece com
Bil
SELECT * FROM cliente WHERE cli_nome LIKE 'Bil%'
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Selecionar Registros
• INNER JOIN
• Une o conteúdo de duas tabelas por meio de uma cláusula de junção gerando um novo
conjunto de dados. Retorna apenas os registros que atendam a cláusula de junção.
• Todos os clientes juntamente com suas notas fiscais.
SELECT *
FROM cliente
INNER JOIN nota_fiscal
ON cliente.cli_cod = nota_fiscal.cli_cod
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Selecionar Registros
• LEFT JOIN
• Une o conteúdo de duas tabelas por meio de uma cláusula de junção gerando um novo
conjunto de dados. Retorna todos os registros da tabela da esquerda mesmo que não
haja um registro que atenda a cláusula de junção na tabela da direita.
• Todos os produtos e as linhas das notas fiscais onde foram comprados, caso foram
comprados.
SELECT *
FROM produto
LEFT JOIN item_nf
ON produto.prod_cod = item_nf.prod_cod
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
ADO.Net
Acesso a Dados
• .NET oferece alternativas de acesso aos dados de um banco de dados
relacional:
• Biblioteca de classes ADO.NET
• Uma API de acesso e manipulação.
• TableAdapters
• Camada de acesso a dados fornecida por geradores de código do Visual Studio.
• Entity Framework
• Framework para mapeamento objeto/relacional.
• LINQ
• Linguagem de acesso e manipulação de alto nível embutida.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Acesso a Dados
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
O que é ADO.NET
• ADO.NET compreende:
• Um conjunto de classes, interfaces, estruturas e enumerações que gerenciam
acesso a dados de dentro do .NET Framework
• Um modelo de programação projetado para ambientes desconectados
• Um modelo de programação com avançado suporte a XML
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Modelo de objetos do ADO.NET
Banco de
Dados
.NET Data Provider
Connection
Transaction
Command
Parameters
DataReader
TableAdapter
SelectCommand
InsertCommand
UpdateCommand
DeleteCommand
DataSet
DataTableCollection
DataTable
DataRowCollection
DataColumnCollection
ConstraintCollection
DataRelationCollection
XML
Providers
• Conjunto de classes especializadas que implementam a interface de
acesso ao dados;
• Existe por padrão no Framework, providers específicos para cada tipo
de banco de dados;
• SQL Provider: acesso à banco de dados do SQL Server.
• OleDB Provider: acesso à banco de dados com driver OleDB.
• ODBC Provider: acesso à banco de dados com driver ODBC.
• Providers específicos oferecem aumento da performance.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Acesso ao Banco de Dados
Gerencia a conexão ao banco
de dados
Executa a consulta/comando
no banco de dados
Troca dados entre o data set
e o banco de dados
Provê acesso a conjuntos de
dados para leitura apenas
Banco de
Dados
Connection
Command
DataReader
DataAdapter
Connection String
• É uma string estática, de somente leitura, responsável por
informar o nome do servidor, nome do banco de dados, usuário
e senha para acessar a base de dados utilizada pela aplicação.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto Connection
• Utilizado para fazer a conexão com o banco de
dados;
• Existe um para cada tipo de provider;
• Permite o pooling de conexões;
• A conexão é feita através de uma string de
conexão.
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=localhost;" +
"Integrated Security=SSPI;" +
"Initial Catalog=Northwind";
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto Command
• Utilizado para a execução de comandos no banco de dados;
• Pode ser criado através de uma conexão:
• Para definir o comando a ser executado utilize a propriedade
CommandText:
SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = "SELECT * FROM Tabela";
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto Command
• Como existem diferentes tipos de comandos, existem também
diferentes tipos de execução:
• ExecuteReader()
• Retorna um objeto DataReader, com o resultado da consulta
• ExecuteNonQuery()
• Não retorna nenhum tipo de dado, apenas o número de células afetadas
• ExecuteScalar()
• Retorna um único valor (object) escalar
• ExecuteXMLReader()
• Retorna um XMLReader
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Command-ExecuteNonQuery
• É responsável pela execução de comandos SQL para manipulação dos
dados no banco de dados.
• São comandos como DELETE e UPDATE que não retornam nenhum
resultado de SELECT e não utilizam nenhum parâmetro de saída.
• Possui duas definições:
• Recebendo um CommandType (Text ou StoredProcedure), uma string com a
instrução SQL (Query ou nome do procedimento) e um vetor de parâmetros SQL
• Ou recebendo, além destes parâmetros, uma transação SQL. A transação é utilizada
para garantir a atomicidade de vários comandos, ou seja, fazer com que um conjunto
de comandos sejam executados ou descartados totalmente
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Command-ExecuteNonQuery
• Exemplo de uso :
SqlConnection cnn = new SqlConnection(
"Data Source=localhost;" +
"Initial Catalog=Videos;Integrated Security=True");
SqlCommand cmd = new SqlCommand("UPDATE titulos SET
Nome = 'Sem Nome' WHERE Nome = ''", cnn);
cnn.Open();
int qtidade =cmd.ExecuteNonQuery();
Console.WriteLine(qtidade + " linhas foram afetadas.");
cnn.Close();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Command-ExecuteScalar
• Exemplo de uso :
SqlConnection cnn = new SqlConnection(
"Data Source=localhost;" +
"Initial Catalog=Videos;Integrated Security=True");
SqlCommand cmd = new SqlCommand("SELECT COUNT(*)
FROM titulos", cnn);
cnn.Open();
object qtidade = cmd.ExecuteScalar();
Console.WriteLine("Existem " + (int)qtidade + " títulos");
cnn.Close();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataReader
• Utilizado para leitura de dados.
• Existe um para cada tipo de provider.
• Vantagens:
• Velocidade.
• Usado para leitura de grandes quantidades de dados.
• Desvantagens:
• Não permite a modificação dos dados lidos.
• Permite somente leitura sequencial.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Command-ExecuteReader
• Ele é utilizado para retornar um DataReader para a classe.
• Uma particularidade deste método é que, devido ao fato de
trabalhar conectado ao banco de dados, não podemos fechar a
conexão.
• Para que a conexão não fique aberta após a leitura, é utilizada
a cláusula CommandBehavior.CloseConnection.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataReader
• Inicia sempre na posição BOF (Begin Of File);
• Para ler o conteúdo de um campo específico utilize:
• Para ir para o próximo registro, utilize:
SqlDataReader dr = cmd.ExecuteReader();
string str = dr["NomeDoCampo"];
dr.Read();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataReader
• Exemplo de uso (1):
SqlConnection cn = new SqlConnection(
"Data Source=localhost;" +
"Initial Catalog=Northwind;Integrated Security=True");
SqlCommand cmd = new SqlCommand("select * from Customers", cn);
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read()) {
comboBox1.Add(dr["CompanyName"]);
}
dr.Close();
cn.Close();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataReader
• Exemplo de uso (2):
SqlConnection cn = new SqlConnection(
"Data Source=localhost;" +
"Initial Catalog=Northwind;Integrated Security=True");
SqlCommand cmd = new SqlCommand("select * from Customers", cn);
cn.Open();
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
cn.Close();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataAdapter
• Responsável pela comunicação entre um objeto DataSet e o banco de
dados;
• Específico para cada tipo de provider;
• Agrega objetos do tipo Command, facilitando a inserção, atualização e
remoção de registros no banco de dados;
• Possui métodos específicos para popular e atualizar um DataSet.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataAdapter
• Exemplo de uso :
SqlConnection cnn = new SqlConnection("Data Source=localhost;" +
"Initial Catalog=Videos;Integrated Security=True");
SqlCommand cmd = new SqlCommand("SELECT * FROM titulos", cnn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
CommandBuilder
• Permite a criação automática de objetos do tipo Command, através
de um DataAdapter;
• Pode ser utilizado somente quando os dados a serem modificados
não são resultados de consultas mais complexas, utilizando cláusulas
como por exemplo, Join;
• Ao ser chamado, o CommandBuilder:
• Conecta-se à base de dados e obtém o esquema da tabela;
• Prepara os comandos correspondentes, usando a lista de campos obtida;
• Instancia objetos Parameter, de acordo com o tipo de cada campo.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
CommandBuilder
• Exemplo de uso (1):
SqlConnection cn = new SqlConnection("Data Source=localhost;" +
"Integrated Security=SSPI;" +
"Initial Catalog=Northwind");
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.UpdateCommand = cb.GetUpdateCommand();
da.InsertCommand = cb.GetInsertCommand();
da.DeleteCommand = cb.GetDeleteCommand();
da.Update(ds.Tables["Clientes"]);
cn.Close();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
CommandBuilder
• Exemplo de uso (2):
SqlConnection cn = new SqlConnection("Data Source=localhost;" +
"Integrated Security=SSPI;" +
"Initial Catalog=Northwind");
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
SqlCommandBuilder cb = new SqlCommandBuilder(da);
cb.DataAdapter.Update(ds.Tables["Clientes"]);
cn.Close();
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataSet
• Utilizado para acesso em geral a um banco de dados;
• Independente de provider;
• Trabalha desconectado do banco de dados;
• Os dados são armazenados dentro de uma coleção de objetos
DataTable;
• Mantém os relacionamentos existentes no banco de dados, entre os
DataTables.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataSet
• DataSets armazenam dados de
forma semelhante a um modelo de
banco de dados relacional
• São constituídos de coleções de
tabelas (Tables) e relacionamentos
(Relations)
• Tabelas (Tables) contém coleções
de colunas (Columns), restrições
(Constraints) and registros (Rows)
• Implementa interface IListSource
para utilização com componentes
visuais
DataSet
Constraints
Table
Column
Constraint
Rows
Row
Relations
Relation
Object Collection
Tables
Columns
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataSet
• Preenchimento de um DataSet:
• Atualização do DataSet no Banco de dados:
da.Update(ds);
SqlDataAdapter da;
da = new SqlDataAdapter("SELECT * FROM Clientes");
DataSet ds = new DataSet("Clientes");
da.Fill(ds, "Clientes");
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataSet
• Exemplo de uso:
SqlConnection cn = new SqlConnection("Data Source=localhost;" +
"Integrated Security=SSPI;" +
"Initial Catalog=Northwind");
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet("Customers");
da.Fill(ds, "Customers");
foreach (DataRow dr in ds.Tables["Customers"].Rows){
Console.WriteLine("{0}:{1}", dr[0], dr["ContactName"]);
}
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataTable
• Representa uma tabela do banco de dados;
• Incorporado ao DataSet, mas ainda um objeto independente;
• Podem ter restrições, como chave primárias;
• Podem se relacionar entre si, da mesma maneira que no banco de
dados;
• Possui método para executar filtragens e ordenações;
• Para isso utiliza comandos SQL, que seriam utilizados nas cláusulas
Select e Order By.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Objeto DataTable
• Filtragem
• Ordenação
DataRow[] rows;
rows = ds.Tables["Clientes"].Select("Country = 'Brazil'",
"CustomerName DESC");
DataRow[] rows;
rows = ds.Tables["Customers"].Select("CustomerID LIKE 'A%'");
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
Programação C
Perguntas???
Faculdade Dom Bosco de Porto Alegre
Bacharelado em Sistemas de Informação
Prof. Filipo Mór
Agradecimento Especial:
Prof. Alexandre Agustini - PUCRS, que gentilmente
cedeu o material para confecção desta aula.
www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.

More Related Content

Viewers also liked

Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...Dalton Martins
 
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NETfilipe-lemos
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosVitor Silva
 
Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosDiego Negretto
 
Uma Abordagem Paralela da Evolução Diferencial em GPU
Uma Abordagem Paralela da Evolução Diferencial em GPUUma Abordagem Paralela da Evolução Diferencial em GPU
Uma Abordagem Paralela da Evolução Diferencial em GPUFilipo Mór
 
Master Thesis Defense
Master Thesis DefenseMaster Thesis Defense
Master Thesis DefenseFilipo Mór
 
Marketing - Vantagem Relativa
Marketing - Vantagem RelativaMarketing - Vantagem Relativa
Marketing - Vantagem RelativaRafael Junqueira
 
Gimp 2.8 - Efeito Entardecer/Noite
 Gimp 2.8 - Efeito Entardecer/Noite Gimp 2.8 - Efeito Entardecer/Noite
Gimp 2.8 - Efeito Entardecer/NoiteLocatelliii
 
Aula Especial - Redes de Computadores A - Sockets
Aula Especial - Redes de Computadores A - SocketsAula Especial - Redes de Computadores A - Sockets
Aula Especial - Redes de Computadores A - SocketsFilipo Mór
 
Gimp 2.8 - Texto Espetacular (Fancy Text)
Gimp 2.8 - Texto Espetacular (Fancy Text) Gimp 2.8 - Texto Espetacular (Fancy Text)
Gimp 2.8 - Texto Espetacular (Fancy Text) leonardoheckert
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1Filipo Mór
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
Aula 11 - Terceirização em TI
Aula 11 - Terceirização em TIAula 11 - Terceirização em TI
Aula 11 - Terceirização em TIFilipo Mór
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Tutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagemTutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagemSandra Barros
 
Gimp para Iniciantes 1
Gimp para Iniciantes 1Gimp para Iniciantes 1
Gimp para Iniciantes 1PeslPinguim
 

Viewers also liked (20)

Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
 
Plataforma .Net
Plataforma .NetPlataforma .Net
Plataforma .Net
 
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a Dados
 
Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de Dados
 
Criando um Blog
Criando um Blog Criando um Blog
Criando um Blog
 
Uma Abordagem Paralela da Evolução Diferencial em GPU
Uma Abordagem Paralela da Evolução Diferencial em GPUUma Abordagem Paralela da Evolução Diferencial em GPU
Uma Abordagem Paralela da Evolução Diferencial em GPU
 
Master Thesis Defense
Master Thesis DefenseMaster Thesis Defense
Master Thesis Defense
 
Gimp
GimpGimp
Gimp
 
Marketing - Vantagem Relativa
Marketing - Vantagem RelativaMarketing - Vantagem Relativa
Marketing - Vantagem Relativa
 
Gimp 2.8 - Efeito Entardecer/Noite
 Gimp 2.8 - Efeito Entardecer/Noite Gimp 2.8 - Efeito Entardecer/Noite
Gimp 2.8 - Efeito Entardecer/Noite
 
Aula Especial - Redes de Computadores A - Sockets
Aula Especial - Redes de Computadores A - SocketsAula Especial - Redes de Computadores A - Sockets
Aula Especial - Redes de Computadores A - Sockets
 
Gimp 2.8 - Texto Espetacular (Fancy Text)
Gimp 2.8 - Texto Espetacular (Fancy Text) Gimp 2.8 - Texto Espetacular (Fancy Text)
Gimp 2.8 - Texto Espetacular (Fancy Text)
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
efeito de texto dobrado no Gimp 2.8
efeito de texto dobrado no Gimp 2.8efeito de texto dobrado no Gimp 2.8
efeito de texto dobrado no Gimp 2.8
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Aula 11 - Terceirização em TI
Aula 11 - Terceirização em TIAula 11 - Terceirização em TI
Aula 11 - Terceirização em TI
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Tutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagemTutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagem
 
Gimp para Iniciantes 1
Gimp para Iniciantes 1Gimp para Iniciantes 1
Gimp para Iniciantes 1
 

Similar to Programaçao C - Aula 2

Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Osny Pereira Filho
 
SQLite: um motor de bases de dados relacional open source
SQLite: um motor de bases de dados relacional open sourceSQLite: um motor de bases de dados relacional open source
SQLite: um motor de bases de dados relacional open sourceLuis Borges Gouveia
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)Igor Abade
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewRoberto Oliveira
 
Introdução a data warehouse e olap
Introdução a data warehouse e olapIntrodução a data warehouse e olap
Introdução a data warehouse e olapFlavia Martins Bispo
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralHelder Lopes
 
Modulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptxModulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptxAugustoNicolau2
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4CDS
 

Similar to Programaçao C - Aula 2 (20)

2006 - ADONET.ppt
2006 - ADONET.ppt2006 - ADONET.ppt
2006 - ADONET.ppt
 
Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01
 
Aula1
Aula1Aula1
Aula1
 
SQLite: um motor de bases de dados relacional open source
SQLite: um motor de bases de dados relacional open sourceSQLite: um motor de bases de dados relacional open source
SQLite: um motor de bases de dados relacional open source
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Aula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLiteAula 06 - TEP - Introdução SQLite
Aula 06 - TEP - Introdução SQLite
 
Python 04
Python 04Python 04
Python 04
 
Apostila sqlserver65v1a
Apostila sqlserver65v1aApostila sqlserver65v1a
Apostila sqlserver65v1a
 
O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - Qlikview
 
Introdução a data warehouse e olap
Introdução a data warehouse e olapIntrodução a data warehouse e olap
Introdução a data warehouse e olap
 
Ado
AdoAdo
Ado
 
Html5 Aula 4
Html5 Aula 4Html5 Aula 4
Html5 Aula 4
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 
Ado.net
Ado.netAdo.net
Ado.net
 
Modulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptxModulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptx
 
Ado.net.exmplos.praticos
Ado.net.exmplos.praticosAdo.net.exmplos.praticos
Ado.net.exmplos.praticos
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 

More from Filipo Mór

Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.Filipo Mór
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Filipo Mór
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Filipo Mór
 
Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3Filipo Mór
 
Aula 1 - Redes de Computadores A - Conceitos Básicos.
Aula 1 - Redes de Computadores A - Conceitos Básicos.Aula 1 - Redes de Computadores A - Conceitos Básicos.
Aula 1 - Redes de Computadores A - Conceitos Básicos.Filipo Mór
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIFilipo Mór
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Aula 12 - Gestão do Conhecimento
Aula 12 - Gestão do ConhecimentoAula 12 - Gestão do Conhecimento
Aula 12 - Gestão do ConhecimentoFilipo Mór
 
Aula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de ProjetosAula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de ProjetosFilipo Mór
 
Aula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e CustosAula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e CustosFilipo Mór
 
Aula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RHAula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RHFilipo Mór
 
Aula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de PlanejamentoAula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de PlanejamentoFilipo Mór
 
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TIAula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TIFilipo Mór
 
Aula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesAula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesFilipo Mór
 
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...Filipo Mór
 
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de SistemasAula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de SistemasFilipo Mór
 
Aula 4 - O Profissional de TI
Aula 4 - O Profissional de TIAula 4 - O Profissional de TI
Aula 4 - O Profissional de TIFilipo Mór
 
GPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application ModelsGPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application ModelsFilipo Mór
 
Aula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TIAula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TIFilipo Mór
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIFilipo Mór
 

More from Filipo Mór (20)

Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
 
Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3
 
Aula 1 - Redes de Computadores A - Conceitos Básicos.
Aula 1 - Redes de Computadores A - Conceitos Básicos.Aula 1 - Redes de Computadores A - Conceitos Básicos.
Aula 1 - Redes de Computadores A - Conceitos Básicos.
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTI
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Aula 12 - Gestão do Conhecimento
Aula 12 - Gestão do ConhecimentoAula 12 - Gestão do Conhecimento
Aula 12 - Gestão do Conhecimento
 
Aula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de ProjetosAula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de Projetos
 
Aula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e CustosAula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e Custos
 
Aula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RHAula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RH
 
Aula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de PlanejamentoAula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de Planejamento
 
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TIAula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TI
 
Aula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesAula 5 - A TI nas Organizações
Aula 5 - A TI nas Organizações
 
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
 
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de SistemasAula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
 
Aula 4 - O Profissional de TI
Aula 4 - O Profissional de TIAula 4 - O Profissional de TI
Aula 4 - O Profissional de TI
 
GPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application ModelsGPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application Models
 
Aula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TIAula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TI
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTI
 

Recently uploaded

Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 

Recently uploaded (20)

Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 

Programaçao C - Aula 2

  • 1. Programação C Faculdade Dom Bosco de Porto Alegre Bacharelado em Sistemas de Informação Prof. Filipo Mór www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 2. Agenda • Conceitos Básicos. • Banco de Dados. • Revisão SQL. • Acesso a dados com ADO.Net. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 4. Conceitos • Banco de Dados • É uma coleção de dados inter-relacionados, representando informações sobre um domínio específico • Ex.: Lista Telefônica, Fichas de acervo de Biblioteca • Sistema Gerenciador de Banco de Dados • São softwares que permitem a definição de estruturas para armazenamento de informações e fornecimento de mecanismos para manipulá-las • Características: • Integridade, Restrições, Segurança/Privacidade, Restauração, Eficiência • Ex.: SQL Server, Oracle, PostgresSQL, MySQL www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 5. Conceitos • Dado • Conjunto de símbolos “arranjados” a fim de representar a informação fora da mente humana. • Elementos de Dados • Subconjunto de símbolos que compõem um dado com significado específico, mas não representa a informação completa. • Ex.: O número de alunos na turma MAT01 de 2008 é 79. • Os elementos de dados são: • Turma: MAT01 • Ano: 2008 • Alunos: 79 www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 7. Banco de Dados • Tabelas • Objeto criado para armazenar os dados fisicamente • Os dados são armazenados em linhas (registros) e colunas (campos) www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 8. Banco de Dados • Registros • São linhas de uma tabela • Armazenam um conjunto de dados pré-definido pela tabela • Campos • São as colunas de uma tabela • Possuem um tipo de dado definido • Armazenam um dado • Chave Primária • Campo que permite a identificação única de um registro em uma tabela • Chave Estrangeira • Campo que referencia uma Chave Primária de um outro registro www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 9. Banco de Dados • Índices • É uma ferramenta usada pelo gerenciador de Banco de Dados para facilitar a busca de linhas dentro de uma tabela. • Índice Único • Índice criado a partir de uma coluna ou de um conjunto de colunas. Não permite a inclusão de linhas duplicadas. • Índice de Performance • Otimiza o processo de busca de linhas na tabela. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 10. Banco de Dados • Exemplo: • Um editora possui vários livros • Um livro é de somente uma editora • Um livro possui vários autores • Um autor possui vários livros de sua autoria Editora PK codigo nome Livro PK codigo titulo ano FK1 codEditora Autor PK codigo primeiroNome ultimoNome LivroAutor PK,FK1 codLivro PK,FK2 codAutor Notação: PK – chave primária (nome do campo sublinhado) FK – chave estrangeira www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 12. Banco de Dados CLIENTE PK CLI_COD CLI_NOME CLI_END I1 CLI_CNPJ NOTA_FISCAL PK NF_NRO NF_DATA NF_CLI NF_CFOP FK1 CLI_COD PRODUTO PK PROD_COD PROD_DESC PROD_IPI PROD_UNIT PROD_QTD ITEM_NF PK,FK2 NF_NRO PK ITEM_COD ITEM_VALOR ITEM_QTD FK1 PROD_COD www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 13. Criar Tabelas CREATE TABLE [cliente]( [cli_cod] [int] PRIMARY KEY IDENTITY(1,1), [cli_nome] [varchar](50) NOT NULL, [cli_end] [varchar](50) NULL, [cli_cnpj] [char](11) NOT NULL ) www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 14. Inserir Registro INSERT INTO [cliente] ([cli_nome],[cli_end],[cli_cnpj]) VALUES ('Bill Gates','Quinta Avenida','12345678900') • Se a tabela possui um campo identity, não é permitido definir manualmente o valor para este campo • Se um campo foi definido como NOT NULL então é necessário especificar seu valor www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 15. Alterar Registro UPDATE [cliente] SET [cli_end] = 'Sete de Setembro' WHERE [cli_cnpj] = '12345678900' • Ao atualizar um registro, especifique as colunas a serem alteradas • A cláusula WHERE é opcional, se for omitida então a atualização ocorrerá em todos os registros, senão ela ocorrerá somente nos registros selecionados www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 16. Deletar Registro DELETE FROM [cliente] WHERE [cli_cnpj] = '12345678900' www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 17. Selecionar Registros • Todas as colunas da tabela cliente SELECT * FROM cliente • Coluna com o código e o nome da tabela cliente SELECT cli_cod, cli_nome FROM cliente • Todos as colunas da tabela cliente onde o nome comece com Bil SELECT * FROM cliente WHERE cli_nome LIKE 'Bil%' www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 18. Selecionar Registros • INNER JOIN • Une o conteúdo de duas tabelas por meio de uma cláusula de junção gerando um novo conjunto de dados. Retorna apenas os registros que atendam a cláusula de junção. • Todos os clientes juntamente com suas notas fiscais. SELECT * FROM cliente INNER JOIN nota_fiscal ON cliente.cli_cod = nota_fiscal.cli_cod www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 19. Selecionar Registros • LEFT JOIN • Une o conteúdo de duas tabelas por meio de uma cláusula de junção gerando um novo conjunto de dados. Retorna todos os registros da tabela da esquerda mesmo que não haja um registro que atenda a cláusula de junção na tabela da direita. • Todos os produtos e as linhas das notas fiscais onde foram comprados, caso foram comprados. SELECT * FROM produto LEFT JOIN item_nf ON produto.prod_cod = item_nf.prod_cod www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 21. Acesso a Dados • .NET oferece alternativas de acesso aos dados de um banco de dados relacional: • Biblioteca de classes ADO.NET • Uma API de acesso e manipulação. • TableAdapters • Camada de acesso a dados fornecida por geradores de código do Visual Studio. • Entity Framework • Framework para mapeamento objeto/relacional. • LINQ • Linguagem de acesso e manipulação de alto nível embutida. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 22. Acesso a Dados www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 23. O que é ADO.NET • ADO.NET compreende: • Um conjunto de classes, interfaces, estruturas e enumerações que gerenciam acesso a dados de dentro do .NET Framework • Um modelo de programação projetado para ambientes desconectados • Um modelo de programação com avançado suporte a XML www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 24. Modelo de objetos do ADO.NET Banco de Dados .NET Data Provider Connection Transaction Command Parameters DataReader TableAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand DataSet DataTableCollection DataTable DataRowCollection DataColumnCollection ConstraintCollection DataRelationCollection XML
  • 25. Providers • Conjunto de classes especializadas que implementam a interface de acesso ao dados; • Existe por padrão no Framework, providers específicos para cada tipo de banco de dados; • SQL Provider: acesso à banco de dados do SQL Server. • OleDB Provider: acesso à banco de dados com driver OleDB. • ODBC Provider: acesso à banco de dados com driver ODBC. • Providers específicos oferecem aumento da performance. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 26. Acesso ao Banco de Dados Gerencia a conexão ao banco de dados Executa a consulta/comando no banco de dados Troca dados entre o data set e o banco de dados Provê acesso a conjuntos de dados para leitura apenas Banco de Dados Connection Command DataReader DataAdapter
  • 27. Connection String • É uma string estática, de somente leitura, responsável por informar o nome do servidor, nome do banco de dados, usuário e senha para acessar a base de dados utilizada pela aplicação. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 28. Objeto Connection • Utilizado para fazer a conexão com o banco de dados; • Existe um para cada tipo de provider; • Permite o pooling de conexões; • A conexão é feita através de uma string de conexão. SqlConnection cn = new SqlConnection(); cn.ConnectionString = "Data Source=localhost;" + "Integrated Security=SSPI;" + "Initial Catalog=Northwind"; www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 29. Objeto Command • Utilizado para a execução de comandos no banco de dados; • Pode ser criado através de uma conexão: • Para definir o comando a ser executado utilize a propriedade CommandText: SqlCommand cmd = cn.CreateCommand(); cmd.CommandText = "SELECT * FROM Tabela"; www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 30. Objeto Command • Como existem diferentes tipos de comandos, existem também diferentes tipos de execução: • ExecuteReader() • Retorna um objeto DataReader, com o resultado da consulta • ExecuteNonQuery() • Não retorna nenhum tipo de dado, apenas o número de células afetadas • ExecuteScalar() • Retorna um único valor (object) escalar • ExecuteXMLReader() • Retorna um XMLReader www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 31. Command-ExecuteNonQuery • É responsável pela execução de comandos SQL para manipulação dos dados no banco de dados. • São comandos como DELETE e UPDATE que não retornam nenhum resultado de SELECT e não utilizam nenhum parâmetro de saída. • Possui duas definições: • Recebendo um CommandType (Text ou StoredProcedure), uma string com a instrução SQL (Query ou nome do procedimento) e um vetor de parâmetros SQL • Ou recebendo, além destes parâmetros, uma transação SQL. A transação é utilizada para garantir a atomicidade de vários comandos, ou seja, fazer com que um conjunto de comandos sejam executados ou descartados totalmente www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 32. Command-ExecuteNonQuery • Exemplo de uso : SqlConnection cnn = new SqlConnection( "Data Source=localhost;" + "Initial Catalog=Videos;Integrated Security=True"); SqlCommand cmd = new SqlCommand("UPDATE titulos SET Nome = 'Sem Nome' WHERE Nome = ''", cnn); cnn.Open(); int qtidade =cmd.ExecuteNonQuery(); Console.WriteLine(qtidade + " linhas foram afetadas."); cnn.Close(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 33. Command-ExecuteScalar • Exemplo de uso : SqlConnection cnn = new SqlConnection( "Data Source=localhost;" + "Initial Catalog=Videos;Integrated Security=True"); SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM titulos", cnn); cnn.Open(); object qtidade = cmd.ExecuteScalar(); Console.WriteLine("Existem " + (int)qtidade + " títulos"); cnn.Close(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 34. Objeto DataReader • Utilizado para leitura de dados. • Existe um para cada tipo de provider. • Vantagens: • Velocidade. • Usado para leitura de grandes quantidades de dados. • Desvantagens: • Não permite a modificação dos dados lidos. • Permite somente leitura sequencial. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 35. Command-ExecuteReader • Ele é utilizado para retornar um DataReader para a classe. • Uma particularidade deste método é que, devido ao fato de trabalhar conectado ao banco de dados, não podemos fechar a conexão. • Para que a conexão não fique aberta após a leitura, é utilizada a cláusula CommandBehavior.CloseConnection. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 36. Objeto DataReader • Inicia sempre na posição BOF (Begin Of File); • Para ler o conteúdo de um campo específico utilize: • Para ir para o próximo registro, utilize: SqlDataReader dr = cmd.ExecuteReader(); string str = dr["NomeDoCampo"]; dr.Read(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 37. Objeto DataReader • Exemplo de uso (1): SqlConnection cn = new SqlConnection( "Data Source=localhost;" + "Initial Catalog=Northwind;Integrated Security=True"); SqlCommand cmd = new SqlCommand("select * from Customers", cn); cn.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { comboBox1.Add(dr["CompanyName"]); } dr.Close(); cn.Close(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 38. Objeto DataReader • Exemplo de uso (2): SqlConnection cn = new SqlConnection( "Data Source=localhost;" + "Initial Catalog=Northwind;Integrated Security=True"); SqlCommand cmd = new SqlCommand("select * from Customers", cn); cn.Open(); DataTable dt = new DataTable(); dt.Load(cmd.ExecuteReader()); cn.Close(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 39. Objeto DataAdapter • Responsável pela comunicação entre um objeto DataSet e o banco de dados; • Específico para cada tipo de provider; • Agrega objetos do tipo Command, facilitando a inserção, atualização e remoção de registros no banco de dados; • Possui métodos específicos para popular e atualizar um DataSet. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 40. Objeto DataAdapter • Exemplo de uso : SqlConnection cnn = new SqlConnection("Data Source=localhost;" + "Initial Catalog=Videos;Integrated Security=True"); SqlCommand cmd = new SqlCommand("SELECT * FROM titulos", cnn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 41. CommandBuilder • Permite a criação automática de objetos do tipo Command, através de um DataAdapter; • Pode ser utilizado somente quando os dados a serem modificados não são resultados de consultas mais complexas, utilizando cláusulas como por exemplo, Join; • Ao ser chamado, o CommandBuilder: • Conecta-se à base de dados e obtém o esquema da tabela; • Prepara os comandos correspondentes, usando a lista de campos obtida; • Instancia objetos Parameter, de acordo com o tipo de cada campo. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 42. CommandBuilder • Exemplo de uso (1): SqlConnection cn = new SqlConnection("Data Source=localhost;" + "Integrated Security=SSPI;" + "Initial Catalog=Northwind"); SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", cn); SqlDataAdapter da = new SqlDataAdapter(cmd); SqlCommandBuilder cb = new SqlCommandBuilder(da); da.UpdateCommand = cb.GetUpdateCommand(); da.InsertCommand = cb.GetInsertCommand(); da.DeleteCommand = cb.GetDeleteCommand(); da.Update(ds.Tables["Clientes"]); cn.Close(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 43. CommandBuilder • Exemplo de uso (2): SqlConnection cn = new SqlConnection("Data Source=localhost;" + "Integrated Security=SSPI;" + "Initial Catalog=Northwind"); SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", cn); SqlDataAdapter da = new SqlDataAdapter(cmd); SqlCommandBuilder cb = new SqlCommandBuilder(da); cb.DataAdapter.Update(ds.Tables["Clientes"]); cn.Close(); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 44. Objeto DataSet • Utilizado para acesso em geral a um banco de dados; • Independente de provider; • Trabalha desconectado do banco de dados; • Os dados são armazenados dentro de uma coleção de objetos DataTable; • Mantém os relacionamentos existentes no banco de dados, entre os DataTables. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 45. Objeto DataSet • DataSets armazenam dados de forma semelhante a um modelo de banco de dados relacional • São constituídos de coleções de tabelas (Tables) e relacionamentos (Relations) • Tabelas (Tables) contém coleções de colunas (Columns), restrições (Constraints) and registros (Rows) • Implementa interface IListSource para utilização com componentes visuais DataSet Constraints Table Column Constraint Rows Row Relations Relation Object Collection Tables Columns www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 46. Objeto DataSet • Preenchimento de um DataSet: • Atualização do DataSet no Banco de dados: da.Update(ds); SqlDataAdapter da; da = new SqlDataAdapter("SELECT * FROM Clientes"); DataSet ds = new DataSet("Clientes"); da.Fill(ds, "Clientes"); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 47. Objeto DataSet • Exemplo de uso: SqlConnection cn = new SqlConnection("Data Source=localhost;" + "Integrated Security=SSPI;" + "Initial Catalog=Northwind"); SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", cn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet("Customers"); da.Fill(ds, "Customers"); foreach (DataRow dr in ds.Tables["Customers"].Rows){ Console.WriteLine("{0}:{1}", dr[0], dr["ContactName"]); } www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 48. Objeto DataTable • Representa uma tabela do banco de dados; • Incorporado ao DataSet, mas ainda um objeto independente; • Podem ter restrições, como chave primárias; • Podem se relacionar entre si, da mesma maneira que no banco de dados; • Possui método para executar filtragens e ordenações; • Para isso utiliza comandos SQL, que seriam utilizados nas cláusulas Select e Order By. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 49. Objeto DataTable • Filtragem • Ordenação DataRow[] rows; rows = ds.Tables["Clientes"].Select("Country = 'Brazil'", "CustomerName DESC"); DataRow[] rows; rows = ds.Tables["Customers"].Select("CustomerID LIKE 'A%'"); www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.
  • 50. Programação C Perguntas??? Faculdade Dom Bosco de Porto Alegre Bacharelado em Sistemas de Informação Prof. Filipo Mór Agradecimento Especial: Prof. Alexandre Agustini - PUCRS, que gentilmente cedeu o material para confecção desta aula. www.filipomor.com – Aula 2 – 2015/II – Acesso a dados com ADO.Net.