View
141
Download
9
Category
Preview:
Citation preview
Desenvolvimento de Desenvolvimento de Aplicações DesktopAplicações DesktopDelphiDelphiProf. MeloProf. Melo
Apresentação
Nome: Hildeberto Melo;Técnico em Desenvolvimento de Software. Ibratec, PE;Bacharel em Sistemas de Informação. FIR, PE;Pós-Graduação em Docência do Ensino Superior. FMN, PE;Mestre em Ciência da Computação. CIN/UFPE.
3
Competência
Identificar os componentes de aceso a banco de dados, aplicando as técnicas apropriadas para implementação de aplicações cliente servidor
4
Roteiro
IDE DelphiPrincipais componentes acesso a banco de dadosManipulação dos componentes Eventos PropriedadesRelatóriosAtividade para avaliação da competência
5
Criando Uma Conexão ODBC
Vá em:1. Iniciar do Windows2. Configurações3. Painel de Controle4. Ferramentas Administrativas5. Fontes de Dados ODBC
Criando Uma Conexão ODBC – Windows 7
Passo a passo:1. Vá na pasta c:\windows\sysWon642. Execute o aplicativo odbcad32.exe
7
Criando Uma Conexão ODBC
Para adicionar uma nova fonte clique no botão Adcionar
8
Access
Aparecerá esta tela com os drives disponíveis para conexãoVamos escolher o Driver do Microsoft Access (*.mdb) e clicar em concluir
9
Access
Informar o nome da fonte de dados, ex: CTD2008Selecionar o Banco de Dados, clicando no botão selecionar
10
Access
Informe onde está o arquivo do bancoDepois confirme clicando no ok
11
SQL Server
Aparecerá esta tela com os drives disponíveis para conexãoVamos escolher o Driver do SQL Server e clicar em concluir
12
SQL Server
Informar o nome do aliasEscolher o servidor no qual deseja se conectar
13
SQL Server
Após informado os dados clicar em avançar.
14
SQL Server
Caso não haja um usuário definido no banco de dados escolher a opção Com autenticação do windows, caso contrário escolha a opção com autenticação do SQL Serve, nesse caso deverá ser informado o login e senha.Clicar em avançar.
15
SQL Server
Escolher o banco de dados no qual deseja se conectar.Clicar em avançar.
16
SQL Server
Aparecerá esta tela com opções de mudança de idioma e outras informações, não há necessidade de alterar as opções.Clicar em concluir.
17
SQL Server
Aparecerá esta tela com as informações da conexãoClique no botão testar conexão pra verificar se está conectando com sucesso.
18
SQL Server
Aparecerá esta tela com o resultado do teste.Após estas etapas, basta ir clicando nos botões de OK/Confirmar e está concluída a etapa de criação da conexão.
19
No Delphi
Abrir o Delphi e Iniciar um nova aplicação
20
No Delphi
Adcionar um DataModule ao projeto
21
No Delphi
22
Paleta BDE
Table
DataBase
23
No DataModule
Adcionar o componente DataBase
Informar o Alias criado anteriormente
Informar o nome do componente
24
Propriedades do DataBase
Colocar a opçãoLoginPropt para True
Colocar a opçãoConnected para True
25
Table
Adcionar um TableNo DataModule
26
Table
Informar o DataBaseName Informar a
TableName
Ativar a Table
27
Adcionando os Campos a Table
1. Dar um duplo clique no componente Table1 do DataModule2. Irá aparecer uma caixa, onde clicaremos com botão direito
do mouse nesta caixa3. Escolheremos a opção “Add All Fields”
1
23
28
DataSource
29
DataSource
1. Colocar um DataSource no DataModule2. Escolher a tabela a qual irá se vincular
1 2
30
Paleta DataControls
DBGrid
DBNavigator
DBText
DBEdit
31
Form Principal
1. Colocar os Componentes DBGrid e DBNavigator2. Fazer com que o Form Principal use o DataModule
1
2
32
Form Principal
Vincular a propriedade DataSource do DBNavigator e DBGrid ao DataSource1
33
Ir no Object Inspector do Form Principal e escolher a aba de eventos, o evento OnCreate
34
Form Principal
Colocar os seguintes comandos abaixo, no evento OnCreate do Form Principal, para ativar a conexão com o banco de dados e ativar a tabela.
35
Ir no Object Inspector do Form Principal e escolher a aba de eventos, o OnDestroy
36
Form Principal
Colocar os seguintes comandos abaixo, no evento OnDestroy do Form Principal, para fechar a conexão.
37
Propriedades do Projeto
1. Ir no Menu Project -> options2. Colocar a criação do datamodule como o primeiro
38
Rodar a Aplicação
Resultado
39
Componente TTable Locate Filter
40
Localizando Registros
Para localizar registros você pode usar vários métodos, mas o melhor deles é o Locate, no exemplo abaixo é feita uma pesquisa exata. if not DtmCli.Tbl.Locate('CodCli', Edt.Text, []) then
ShowMessage('Cliente não encontrado.');Você também pode fazer uma pesquisa parcial e/ou sem sensitividade de caso usando o terceiro parâmetro, que é um conjunto de opções. DtmCli.Tbl.Locate('Nome', Edt.Text, [loPartialKey, loCaseInsensitive]);
Lopartialkey – pesquisas parciais, só precisa informar parte do nome.LocaseInsensitive – desconsidera maiúsculas e minúsculas Se você precisar fazer uma pesquisa por mais de um campo, separe os nomes dos campos por ponto e vírgula e use a função VarArrayOf para criar um array com os valores que você quer procurar. if not DtmPed.Tbl.Locate('Vendedor;Data', VarArrayOf([EdtVendedor.Text, EdtData.Text]),
[loCaseInsensitive]) then ShowMessage('O vendedor não realizou nenhuma venda nessa data');
Caso os campos pesquisados sejam indexados, a pesquisa será muito mais eficiente, senão será criado um filtro temporário da BDE para localizar os registrosPara utilizar o Locate em um formulário é necessário colocar na claúsula USES do form, a classe DB.
41
Utilizando o filter
Utilizamos a propriedade Filter e Filtered do componente TTable, para filtrar um determinado número de registros na tabela.A propriedade Filter recebe uma String com o filtro. Ex: nomeDoCampo = ‘conteúdo da pesquisa’A propriedade Filtered ativa o filtro, tendo como valores: false ou true.
42
Tela
Adicionar na tela Um Edit e um Botão, para ser utilizado na
consulta com Locate. Um Edit e dois Botões para ser utilizado com o
filter
43
Locate
Clique do botão consultar com locate, colocar este código.
44
Filter
Clique dos botões Filtrando e Limpando filtro.
45
Tela antes de utilizar os comandos Locate e Filter
46
Locate
Ao informar no Edit a palavra Wra, o locate localizou o primeiro registro da tabela que continha a palavra.
47
Locate
Informando um nome que não existe na tabela
48
Filter
Foi informado a palavra Snapper, ele filtrou e deixou apenas os registro que continham a palavra informada.
49
Dica
CharSet da aspa simples #39Podemos concatenar strings que precisam de aspas simples assim: Variavel := 'state = '+#39+Texto+#39; Variavel := ‘state = ‘ + ‘’’’ + texto + ‘’’’;
50
Status do Componente Table
InsertAppendEditPostCancelDeleteRefresh
Relacionando Tabelas
Mestre detalhe: Caso tivéssemos duas tabelas, uma para os
médicos e outra para as consultas dos médicos.
51
Relacionando Tabelas
Ao selecionar o médico automaticamente seria mostrado no grid de consultas, apenas as consultas do mesmo.
52
Relacionando Tabelas
53
Na propriedade MasterSource da tabela de consultas, iriamos escolher a tabela de médico
Na propriedade MasterField da tabela de consultas, criar o vínculo entre chaves primária e estrangeira
Instalando Componentes de Relatório
Menu Component – Install package
54
Instalando Componentes de Relatório
Adicionar os pacotes: Dclqrt70.bpl Dcltqr70.bpl
Ambos estão na pasta bin do delphi.
55
56
Relatório com Table
Passos:1. Criar um novo projeto2. Adicionar um DataModule ao projeto3. Adicionar um DataBase e uma Table ao
DataModule4. Configurar o DataBase e a Table conforme foi
visto anteriormente5. Adicionar mais um formulário ao projeto e
renomeá-lo para formImpressao
57
Relatório com Table
Passos (continuação):6. No formImpressao adicionar um quickRep
(aba QReport)
58
Relatório com Table
Ligar o QuickRep a Table do DataModule
59
Relatório com Table
Adicionar duas QRBands ao QuickRep
60
Relatório com Table
Configurar o BandType da segunda QrBand para rbDetail
61
Relatório com Table
Adicionar um QRLabel na banda de Título
62
Relatório com Table
Colocar um QRDBText na banda detalhesConfigurar o DataField e DataSet
63
Relatório com Table
No formulário principal colocar um botão, este botão servirá para chamar o formulário de impressão.
64
Relatório com Table
No clique do botão colocar o código abaixo
65
Executando a Aplicação
Atividade Avaliação Competência
QualidadeModelo de DadosCritérios
66
67
Qualidade
Renomear os componentes para facilitar sua identificaçãoUtilizar nomes sugestivos para as variáveis e componentes, evitar utilizar apenas uma letra. Ex: x: integer, a: string; “não utilizar” Ex: nomeFuncionario: string; idadeFuncionario: integer;As mensagens deverão ser claras e precisas, devendo informar ao usuário o que ele deve fazer. Evitando mensagens vagas Incorreto
“valor inválido” “Ocorreu um erro” “Informar o valor”
Correto “informar a data de nascimento no formato dd/mm/aaaa” “a idade deverá ser maior que zero” “o valor do salário deverá ser maior que zero”
68
Qualidade
Utilizar comentário no código-fonte, para facilitar o entendimento.A cada ação do usuário o sistema deverá responder.
69
Qualidade
Identar o código fonte para facilitar o entendimento e a identificação dos blocos de comando
Formulário Principal
70
Formulários Cadastro/Alteração
O sistema deverá ter formulários para efetuar o cadastro e alteração das diversas tabelas utilizadas pelo sistema.
71
Modelagem do Banco
73
Atividade Para Avaliação da Competência
Criar um sistema que deva conter as seguintes informações referentes ao modelo de dados apresentados anteriormente: Contato
Código: inteiro auto incremento Nome : string; Data de nascimento: Date;
Compromisso Código: inteiro auto incremento Descrição: string; Data: Date; Código do contato: inteiro
Esta informação será a ligação entre o contato e seus compromissos
74
Atividade Para Avaliação da Competência
Criar um sistema que deva conter as seguintes informações referentes ao modelo de dados apresentados anteriormente: Telefone
Código: inteiro auto incremento Ddd: string; Número: string; Código do contato: inteiro
Esta informação será a ligação entre o contato e seus telefones Endereço
Código: inteiro auto incremento Logradouro: string; complemento: string; Bairro: string; cidade: string; Uf: string; Cep: string; Código do contato: inteiro
Esta informação será a ligação entre o contato e seus endereços
75
Atividade Para Avaliação da Competência (2)
O formulário deverá estar devidamente organizado Distribuir os componentes forma a facilitar o
uso do sistema pelo usuário Alinhamento dos componentes
Aplicar os critérios de qualidade vistos anteriormente para esta atividadeTodas as informações do contato, endereço, telefone e compromissos serão obrigatórias, portanto realizar a validação dos mesmos.
76
Atividade Para Avaliação da Competência (3)
Para realizar o cadastro de um compromisso, telefone ou endereço será necessário vincular o mesmo a um contato, lembre-se que o atributo “código” será utilizado para tal rotina.
77
Atividade Para Avaliação da Competência (3)
O sistema deverá implementar as rotinas de cadastro, alteração, remoção, consulta e impressão de contatos e demais informações.Na remoção de um funcionário, se o mesmo tiver compromissos, telefones e endereços vinculados, remover os mesmos.
78
Atividade Para Avaliação da Competência (3)
Utilizar componentes de manipulação de bando de dados em delphi
79
Perguntas...
Recommended