ADO. NET – Situações práticasHélder Oliveira helderjmo@gmail.com
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Ligação à Base de Dados• Comandos• Acesso a dados “Conn...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Estabelecimento de ligação:SqlConnection connection = n...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• A execução de comandos para Bases de Dados dos tipo SQL...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• A execução do comando deverá ser efectuada segundo umdo...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Este acesso inicia-se com a execução do métodoExecuteRe...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Este tipo de acesso requer desde logo a intanciação de ...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Depois de manipulados os dados em memória (DataSet), at...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Os registos que contém as mudanças efectuadas ao nível ...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• O Visual Studio permite a criação de DataSets de forma ...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Esta ferramenta permite criar estruturas apropriadas qu...
Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Os DataSets e todos os objectos a ele associados permit...
Próximos SlideShares
Carregando em…5
×

Ado.net.exmplos.praticos

226 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
226
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Ado.net.exmplos.praticos

  1. 1. ADO. NET – Situações práticasHélder Oliveira helderjmo@gmail.com
  2. 2. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Ligação à Base de Dados• Comandos• Acesso a dados “Connected”• Acesso a dados “Disconnected”• Actualização dos dados (“Disconnected”)• DataSets através do assistente• Estruturas de Dados sem SGBD
  3. 3. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Estabelecimento de ligação:SqlConnection connection = new SqlConnection({connectionstring});• A “connection string” deverá ser sempre declarada de formacentralizada - através do ficheiro de configuração daaplicação ou de uma simples variável estática na classProgram• A conexão deverá ser sempre aberta e fechada, antes edepois do acesso aos dados da base de ados,respectivamente.connection.Open();// (...)connection.Close();
  4. 4. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• A execução de comandos para Bases de Dados dos tipo SQLServer deve ser implementada através da instanciação daclasse SqlCommand.Exemplo:SqlCommand command = newSqlCommand("SELECT * FROM clientes WHERE id_cliente=" + idclient, connection);• Este comando permite essencialmente a execução de queriesSQL (SELECT, INSERT, UPDATE, DELETE) e de StoredProcedures.
  5. 5. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• A execução do comando deverá ser efectuada segundo umdos seguintes métodos:– ExecuteNonQuery, ExecuteScalar, ExecuteReader ouExecuteXmlReader• Cada método deverá ser executado de acordo com a naturezada operação que se pretende realizar• A fim de introduzir alguma simplicidade na execução decomandos em Bases de Dados, a Microsoft introduziu abiblioteca SqlHelper – que poderá ter-se em conta sempreque há necessidade de efecutar operações que não exijamelevados graus de felxibilidade e complexidade.
  6. 6. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Este acesso inicia-se com a execução do métodoExecuteReaderSqlDataReader dr = command.ExecuteReader();dr.Read();lblID.Text = dr["id_cliente"].ToString();lblNome.Text = dr["nome"].ToString();lblMorada.Text = dr["morada"].ToString();• A leitura de cada registo é realizada através do método Readda classe SqlDataReader antes instanciada
  7. 7. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Este tipo de acesso requer desde logo a intanciação de umaestrutura em memória capaz de acolher os dados: umDataSet:SqlConnection connection = newSqlConnection(Program.connectionString);connection.Open();da = new SqlDataAdapter("SELECT * FROM Produtos", connection);ds = new DataSet();da.Fill(ds);dataGridView1.DataSource = ds.Tables[0];connection.Close();• A transição dos dados entre a memoria secundária e amemória primária é garantida através de um objecto do tipoDataAdapter. O procedimento Fill do DataAdapter preenche oDataSet antes intanciado
  8. 8. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Depois de manipulados os dados em memória (DataSet), atransição destas mudanças para as correpondentes estruturasfísicas efectua-se através do comando Update doDataAdapter:SqlCommandBuilder cmd = new SqlCommandBuilder(da);DataSet dsChanges = ds.GetChanges();if (dsChanges != null){da.Update(dsChanges);ds.AcceptChanges();}
  9. 9. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Os registos que contém as mudanças efectuadas ao nível damemória podem ser obtidos através do métodoGetChanges, presente tanto em objectos do tipo DataSetcomo DataTable• A classe SqlCommandBuilder permite “gerar” noDataAdapter instruções de Insert, Update ou Delete combase no comando Select associado a esse mesmoDataAdapter.• Para limpar o registo de alterações no DataSet, deve-seexecutar o método AcceptChanges
  10. 10. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• O Visual Studio permite a criação de DataSets de forma rápida e visual.Ferramentas próprias permitem a criação de toda a estrutura do interesse daaplicação automaticamente com base no sistema físico:
  11. 11. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Esta ferramenta permite criar estruturas apropriadas que sãoautomaticamente convertidas em objectos (classes)descendentes das “primitivas” especificadas pela plataforma.NET (DataSet, DataTable, DataRow, etc)• Incluí TableAdapters específicos• Possibilita definir métodos especificos para consulta oumanipulação da Base de Dados.
  12. 12. Hélder Oliveira helderjmo@gmail.com ADO. NET – Situações práticas• Os DataSets e todos os objectos a ele associados permitemcriar estruturas de memória flexíveis e adaptáveis a uma vastavariedade de problema• São estruturas completamente independentes de qualquersistema de base de dados• Permitem guardar e restaurar o seu estado e estrutura emficheiros XML• Pode traduzir-se num meio fácil de guardar registos ouestruturas de dados simples de forma bem estruturada erelacional

×