Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIago Gaspar Alterado mais de 9 anos atrás
1
Bruno Inojosa MCP.NET Framework.NET com C#
2
SQL Básico
3
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
4
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
5
Deletar Registro DELETE FROM [cliente] WHERE [cli_cnpj] = '12345678900'
6
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%'
7
ADO.NET
8
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
9
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 XMLXML
10
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 Oracle Provider: acesso à banco de dados do Oracle Database 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.
11
Modelo ADO.NET DataSet Connection DataReader Command DataAdapter WindowsForm WebForm Classes WebServices Provider ADO.NET Consumidores
12
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
13
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.
14
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"; SqlConnection cn = new SqlConnection(); cn.ConnectionString = "Data Source=localhost;" + "Integrated Security=SSPI;" + "Initial Catalog=Northwind";
15
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";
16
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
17
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
18
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(); 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();
19
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(); 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();
20
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 seqüencial
21
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.
22
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();
23
Objeto DataReader 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); cn.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { comboBox1.Add(dr["CompanyName"]); } dr.Close(); cn.Close(); SqlConnection cn = new SqlConnection("Data Source=localhost;" + "Integrated Security=SSPI;" + "Initial Catalog=Northwind"); 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();
24
Objeto DataReader 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); cn.Open(); DataTable dt = new DataTable(); dt.Load(cmd.ExecuteReader()); cn.Close(); SqlConnection cn = new SqlConnection("Data Source=localhost;“+ "Integrated Security=SSPI;" + "Initial Catalog=Northwind"); SqlCommand cmd = new SqlCommand("select * from Customers", cn); cn.Open(); DataTable dt = new DataTable(); dt.Load(cmd.ExecuteReader()); cn.Close();
25
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.
26
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); 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);
27
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.
28
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 ObjectCollection Tables Columns
29
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");
30
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"]); }
31
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.
32
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%'");
33
Laboratório 3.1.1
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.