Laboratório de Programação I

Slides:



Advertisements
Apresentações semelhantes
Criando aplicações WEB
Advertisements

Exemplos de código WebForm1.aspx: Listas.aspx: TestaMarcadores.aspx:
Banco de Dados I Aula 20.
Triggers Renata Viegas.
BD em.NET: Passo a passo conexão com SQL Server 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Prof.: Bruno Rafael de Oliveira Rodrigues
Sistemas de Informação Redes de Computadores
Maurício Edgar Stivanello
Introdução à Engenharia da Computação
Oficina sobre banco de dados
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Rápido de Aplicação Material IV-Bimestre.
Banco de dados Profª Kelly Medeiros.
MANUAL NOVA INTRANET 2010 IMPORTANTE! IMPORTANTE!
Treinamento do Microsoft® Access® 2010
Silvane Gonçalves Analista de Sistemas
Aula R Prof. Naércio Filho Técnico em Informática
Gpnet Criando um novo módulo.
Laboratório de Programação I
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Usando Microsoft Access 2010
Criando Formulário de Cadastro
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel.
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
ACCESS 2007 EDIMILSON JÚNIOR.
Primeira aula de PL/SQL Parte II
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Windows Sistema operacional da Microsoft
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
07/04/2017 Linux Ubuntu 2.
Prof. Roberto Rosa Aula 9.  Agora vamos inserir dados no Banco de Dados. Para isso precisamos de 3 coisas:  Netbeans instalado.
Treinamento sobre SQL.
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Banco de dados.
Academia de Ensino Superior 2007 O Ciclo de Dados.
SEGUNDA FASE / S2B MIC PERNAMBUCO
Introdução/Pesquisar/Alterar Etapa1 Vamos começar o acompanhamento do módulo pelo menu "Acesso Rápido"-> Atendimento. Clique no icone "Atendimento".
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel.
Banco de Dados I I Comandos SQL
Capítulo 10 Criação de um Formulário Para
Fórmula Visual RM.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
DELETE, UPDATE, COMMIT, ROLLBACK
7P/SI – 2010/01 Prof. Carlos Alberto Seixas. Agenda Visão Geral sobre os Conceitos e Implementação sobre SGBs MySQL Revisão das Práticas Práticas 1 e.
Prof. Renato de Oliveira Bastos
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Prof. Renato de Oliveira Bastos
Fórmula Visual RM.
Linguagem de definição de dados - SQL
Programação para Web I AULA 2 BANCO DE DADOS.
Acesso à Dados – ZEOS x Delphi
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
JavaScript Introdução ao JavaScript 1. Objetivos Introdução Sintaxe Básica Arquivo (script) externo Script no HEAD da página Script no BODY da página.
OS - Cadastrar Ordem de Serviço
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
ASP.NET Passo a Passo Criando um CRUD Conteúdo do Capítulo 1. Acessar bancos de dados SQL Server 2. Utilizar o GridView 3. Utilizar o DetailView 4. Implementar.
1 Programação de Banco de Dados José Antônio da Cunha George Azevedo da Silva.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Atividade ASP.NET Portal da Memoria Atividade Desenvolver uma aplicação ASP.NET com funcionalidade similar à existente no site centenário.ifrn.edu.br utilizando.
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Modelagem de Banco de Dados através do ERwin
PHP + MYSQL. Mysql O MySQL é servidor de banco de dados multiusuário, multitarefa que trabalha com uma das linguagens de manipulação de dados mais popularizadas.
Transcrição da apresentação:

Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Aplicação com Bancos de dados usando dbExpress Parte II

Componentes Data Control Componentes Data Control são responsáveis por apresentar os dados do banco de dados ao usuário Vamos ver mais alguns componentes relacionados à manipulação do banco de dados

DBEdit É de longe o componente mais usado para mostrar campos. Oferece uma caixa de edição conectada a um campo no arquivo. Para usá-lo, basta preencher as propriedades DataSource e DataField (nessa ordem)

DBLabel (ou DBText em versões mais novas) Permite exibir um campo de um registro atualmente ativo. Seleciona-se o DataSource e o DataField (nessa ordem)

DBComboBox e DBListBox DBComboBox permite exibir ou editar valores de uma coluna de uma tabela DBListBox funciona da mesma maneira, só que tem um “visual” diferente. Em ambos seleciona-se o DataSource e o DataField (nessa ordem)

DBMemo Permite exibir ou editar blobs de um registro ativo. Seleciona-se o DataSource e o DataField (nessa ordem)

Exercício Objetivos: Demonstrar como efetuar alterações em uma tabela usando um ClientDataSet (se for usado somente um sqlTable isso não é possivel) Criar um form apresentando os campos da tabela agenda usando componentes DBEdit Demonstrar como ações que o DBNavigator executa podem ser efetuadas através de botões

Form que será construido terá mais ou menos essa aparência

Componentes usados Criar um Data Module e inserir os seguintes componentes SQLConnection DataSource ClientDataSet DataSetProvider 2 x SqlTable

Ajuste das propriedades SQLConnection Conforme visto anteriormente SQLTable1 SQLConnection: SQLConnection1 TableName: usuarios SQLTable2 TableName: cidade DataSetProvider Dataset: SQLTable1 Datasource Dataset: ClientDataSet 1 ClientDataSet ProviderName: DataSetProvider1 Active: True

Field Editor Clicando duas vezes sobre o ClientDataSet abre-se o form Editor Usar o botão direito para inserir campos de forma individual, inserir todos os campos ou então inserir campos novos que não existem na tabela (New Field) Campo lookup pode ser utilizado para obter um campo de outra tabela Pode “arrastar” os campos para dentro do form

Eventos Cada um dos botões do form vai efetuar a ação do DBNavigator No evento onClick de cada botão inserir o seguinte: Anterior DataModule1->ClientDataSet1->Prior(); Delete DataModule1->ClientDataSet1->Delete(); Update DataModule1->ClientDataSet1->Post(); Acrescer DataModule1->ClientDataSet1->Insert(); Seguinte DataModule1->ClientDataSet1->Next(); Não esqueça de fazer o Form usar o Data Module (Alt + f11)

Ajuste os eventos Ajuste os seguintes eventos do ClientDataSet acrescendo as seguintes linhas de código senão os dados não serão atualizados AfterPost  disparado após operação de edit ou insert ClientDataSet1->ApplyUpdates(0); // Esse metodo envia comando para efetivar as alteracoes efetuadas na tabela no banco de dados AfterDelete  disparado após uma deleção ClientDataSet1->ApplyUpdates(0);

Execute a aplicação Note que se você possui um cadastro de clientes bastante simples porém funcional

Usando comandos SQL Vamos criar um novo Form e usá-lo para acrescer dados na tabela cidade usando comando SQL Acrescer um TSQLQuery no Data Module e alterar a propriedade SQLConnection para SQLConnection1

Usando comandos SQL No evento onClick do botão acrescer o seguinte código DataModule1->SQLQuery1->Active = false; DataModule1->SQLQuery1->SQL->Clear(); DataModule1->SQLQuery1->SQL->Add("INSERT INTO cidade(id, nome) values (NULL, '"+ Edit1->Text +"') "); DataModule1->SQLQuery1->ExecSQL(); ShowMessage("Cidade cadastrada com sucesso!"); Não esqueça de fazer o Form usar o Data Module (Alt + f11) Execute a aplicação e veja que você consegue cadastrar uma cidade na base de dados usando SQL

Master / Detail Inicie uma nova aplicação Vamos criar um relacionamento Master / Detail. Como exemplo utilizaremos as tabelas usuarios e ocorrencias, onde usuarios tabela Master e ocorrencias será a Detail Em um relacionamento Master/Detail, para cada registro da tabela Master, são relacionados apenas os registros da tabela Detail que tiverem os mesmos valores de chaves primária e estrangeira, respectivamente (no nosso exemplo id da tabela usuarios = id_usuario da tabela ocorrencias)

Acrescer tabela de ocorrências no mysql Vamos usar a mesma base de dados cadastro criada anteriormente e criar uma tabela para armazenar as ocorrências associadas a um usuário. Um usuário pode conter N ocorrências # mysql –u root -p mysql> USE cadastro; CREATE TABLE `ocorrencias` ( `id` int(4) NOT NULL AUTO_INCREMENT, `ocorrencia` varchar(255) DEFAULT NULL, `id_usuario` int(4) DEFAULT NULL, PRIMARY KEY (`id`) );

Visão do formulário

Acrescer mais os seguinte componentes ao Data Module SQLTable3 SQLConnection: SQLConnection1 TableName: ocorrencias DataSetProvider2 Dataset: SQLTable3 Datasource2 Dataset: ClientDataSet 2 ClientDataSet2 ProviderName: DataSetProvider2 Active: True

Relacionamentos Selecione a propriedade MasterSource da tabela detail SQLTable3, e escolha o nome do DataSource da tabela master, no caso DataSource1 (que foi vinculado a usuarios). Dê duplo-clique na propriedade MasterField (chave primária da tabela master) na tabela SQLTable3 para ver a janela de designer do relacionamento. Selecione id_usuario (da tabela ocorrencias) em Detail Fields e id (da tabela usuarios) em Master Fields.O relacionamento pode ser feito selecionando-se as chaves primária e estrangeira das duas tabelas e clicando no botão Add.

Relacionamentos Faça a mesma coisa com o ClientDataSet 2. Selecione a propriedade MasterSource desse componente e escolha o nome do DataSource da tabela master, no caso DataSource1 (que foi vinculado a usuarios). Dê duplo-clique na propriedade MasterField (chave primária da tabela master) para ver a janela de designer do relacionamento. Selecione id_usuario (da tabela ocorrencias) em Detail Fields e id (da tabela usuarios) em Master Fields.O relacionamento pode ser feito selecionando-se as chaves primária e estrangeira das duas tabelas e clicando no botão Add.

Removendo obrigatoriedade do campo do banco de dados Como o campo “id” no banco de dados foi definido como auto_increment deve-se passar o seu valor com NULL. Entretanto se ele for deixado em branco no DBGrid dará um erro (da figura ao lado) Pare resolver isso vá no Data Module e clique duas vezes sobre a SQLTable3. Abrirá o editor de campos, clique com o botão direito e acresça todos os campos (Add all fields). Clique sobre o campo “id” e mude a propriedade Required para false

Removendo um campo do DBGrid Pode-se remover um campo do DBGrid Clicar duas vezes no DBGrid e no editor de campo clicar com o botão direito e selecionar Acrescer todos os campos (Add All Fields). Clicar no campo que se quer remover e pressionar a tecla Delete

Acresca mais os seguintes componentes no Form DBGrid DataSource: DataModule1.DataSource2 DBNavigator2 Execute a aplicação para ver os resultados

Localizar registros via SQL Vamos utilizar um comando SQL para fazer uma query no banco procurando pelo nome de um usuário (campo nome do banco de dados) Crie o seguinte form com um Edit, um Button e um DBGrid No exemplo está se usando um DBGrid, mas pode-se usar outros componentes para mostrar o resultado

Localizar registros via SQL Acresça os seguintes componentes no Data Module SQLQuery1 SQLConnection: SQLConnection1 DataSetProvider3 Dataset: SQLQuery1 Datasource3 Dataset: ClientDataSet 3 ClientDataSet3 ProviderName: DataSetProvider3

Localizar registros via SQL No evento onClick do Button acresça o seguinte código: DataModule1->SQLQuery1->Active = false; DataModule1->SQLQuery1->SQL->Clear(); DataModule1->SQLQuery1->SQL->Add("SELECT * FROM usuarios WHERE nome like '%"+ Edit1->Text +"%' "); DataModule1->SQLQuery1->Open(); DataModule1->ClientDataSet3->Open(); if (DataModule1->ClientDataSet3->IsEmpty()) ShowMessage("Nada foi encontrado"); else{ DBGrid1->DataSource = DataModule1->DataSource3; }

Acessando um campo da consulta SQL Pode-se atribuir o resultado da consulta SQL a um componente qualquer, como por exemplo, um label DataModule1->SQLQuery1->Active = false; DataModule1->SQLQuery1->SQL->Clear(); DataModule1->SQLQuery1->SQL->Add("SELECT * FROM usuarios WHERE nome like '%"+ Edit1->Text +"%' "); DataModule1->SQLQuery1->Open(); DataModule1->ClientDataSet3->Open(); if (DataModule1->ClientDataSet3->IsEmpty()) ShowMessage("Nada foi encontrado"); else{ Label2->Caption= DataModule1->SQLQuery1->FieldByName("nome")->AsString; Isso é o label com o valor de retorno do campo nome