- Primeiramente abra o Delphi e crie um File -> New -> VCL Forms Application.
- Depois em File -> Save Project As ..., salve como "untPrincipal" e de um nome para o projeto, pode ser "Cidades", salve.
- Altere o Caption do Form para "Manutenção de Cidades" e o name para frmCidades. CTRL + S para salvar.
- Crie um Data Module em File -> New -> Other ..., selecione Data Module, OK.
- Neste Data Module, adicione o componente SQLConnection da paleta dbExpress para conectarmos ao nosso banco Firebird (como criar foi ensinado no outro post).
- Dê um duplo clique sobre o componente para abrir as opções.
- No driver name selecione Interbase.
- Na Key DataBase você coloca o caminho até o seu arquivo *.fdb, o banco de dados, se você salvar a aplicação no mesmo diretório que está o banco de dados pode colocar apenas o nome do arquivo.fdb, isto vai evitar problemas quando você for tentar usar o sistema em outro computador (terá que ter o banco no mesmo caminho).
- Na key ServerCharSet coloque "WIN1252" para que o sistema aceite acentos do português.
- Verifique se o User_Name, Password e SQLDialect estão corretos.
- Se quiser pode testar a conexão clicando no quarto botão bem em cima, vai pedir a senha (masterkey), se tudo der certo vai receber a mensagem "Successfully Connected".
- Clique em OK, altere a propriedade LoginPrompt do SQLConnection para false, isso faz com que ele deixe de perguntar a senha toda vez que você for abrir uma conexão com o banco.
- Altere a propriedade Name do DataModule para "DM".
- CTRL+ S para salvar, chame a Unit de "untDM".
Até aqui criamos um novo projeto, um formulário para a manutenção de cidades, um data module para separar a parte de conexão com o banco das telas de manutenção e criamos a conexão. Agora vamos fazer o processo que será igual para todos as "tabelas básicas" do banco que precisam apenas uma tela para inserir, alterar, excluir e consultar os dados (que eu chamo de manutenção).
- Adicione três componentes no DM (Data Module), um SQLDataSet, um DataSetProvider e um ClientDataSet, para cada tabela terá que ter estes 3 componentes.
- Selecione o SQLDataSet e altere a propriedade SQLConnection, selecione nosso componente de conexão SQLConnection1.
- Na propriedade CommandText vai aparecer "..." quando colocar o cursor do mouse dentro, clique nos pontinhos (...) para abrir o CommandText Editor, nele vão aparecer as tabelas do banco de dados e os campos de cada tabela, selecione a tabela que você está fazendo a manutenção, aqui é "CIDADE" e clique no botão "Add Table to SQL", depois em "Add Field do SQL", isso vai montar uma SQL de consulta dos dados, ex.: "select * from CIDADE", depois clique em OK.
- Selcione o ClientDataSet1 e altere a propriedade ProviderName, selecione o DataSetProvider1.
- Ative o ClientDataSet1 (propriedade Active = true).
- Duplo clique no ClientDataSet1 para abrir o Fields Editor, clique com o botão direito dentro do field Editor e depois em "Add all fields" ou "CTRL + F" para adicionar todos os campos da tabela.
- É interessante renomear os componentes para ficar fácil a identificação quando tiver que fazer pra todas as tabelas, de preferência antes de começar alterar as propriedades dos componentes, neste caso só vou fazer de uma então pulei esta parte.
- Deixe o Fields Editor do ClientDataSet1 aberto e volte para o frmCidades (untPrincipal).
- Selecione todos os fields e arraste eles para dentro do frmCidades, vai pedir uma confirmação para usar o form DM ou algo semelhante, clique em "Yes". Vão ser criados os Edits e Labels conforme os fields da tabela e um DataSource.
- Adicione no formulário o componente DBNavigator e altere a propriedade DataSource, selecione DataSource1.
- Adicione também o componente DBGrid e também altere sua propriedade DataSource para DataSource1. Neste momento já deve trazer os dados do banco (se tiver algo cadastrado), caso não traga nada e estes componentes fiquem "desativados", sem as funções, verifique no DM se o ClientDataSet está com a propriedade Active = true.
- Adicione também um Button, pode ser ao lado do DBNavigator, altere a propriedade Caption para "Salvar" ou "Gravar", de um duplo clique sobre o Button e então vamos digitar o código responsável por fazer com que os dados alterados ou inseridos realmente sejam salvos no banco, antes adicione nas uses o DM, para isso pressione "Alt + F11", selecione a unitDM e OK, agora sim o código para salvar:
procedure TfrmCidades.Button1Click(Sender: TObject); begin DM.ClientDataSet1.ApplyUpdates(0); end;
- Pressione "F12" para voltar ao modo Design.
Pronto, a tela deve ter ficado parecida com a imagem abaixo.
- CTRL + F9 para compilar.
- F9 para compilar e executar a aplicação com Debbuger, ou
- CTRL + Shift + F9 para compilar e executar sem Debug (mais rápido)
A aplicação funcionando.
Bom pessoal, minha aula está acabando e vou ficando por aqui, no futuro escreverei um post mostrando como fazer um menu na aplicação e também telas de manutenção em tabelas que tem chaves estrangeiras (usar lookup).
Até.