criação bd delphi

16
Autor: Luiz Fernando Minato CONSTRUÍNDO UM BANCO DE DADOS PARADOX 7.0 ACESSO LOCAL E EM REDE - DELPHI 7 Caro leitor, nesta apostila irei demonstrar como se construir um banco de dados para se trabalhar em um computador Local, e posteriormente iremos migrá-lo para fazer o mesmo trabalhar em Rede, com múltiplos usuários acessando simultaneamente o banco de dados. Gostaria de enfatizar que iremos trabalhar com tabelas do tipo PARADOX 7.0, e não iremos criar nenhuma espécie de relatórios, será apenas trabalho com o banco de dados. Será necessário ter instalado junto aos comutadores que irão utilizar o banco de dados, o software BDE ADMINISTRATOR, que é fornecido juntamente com o Delphi 7. Existe a instalação separada do BDE ADMINISTRATOR, para os computadores que só farão o uso do banco de dados e não irão criar softwares, para isso a instalação deverá ser procurada na internet, lembrando que é Grátis. Primeiramente temos que elaborar uma estrutura de dados que iremos criar, pois precisamos saber o que iremos fazer e quais as informações necessárias, antes de colocar a mão na massa. Abaixo estrutura de dados da tabela de cadastro: CAMPO TIPO TAMANHO CHAVE PRIMÁRIA E_MAIL ALPHA 100 * NOME ALPHA 30 CIDADE ALPHA 20 CEP ALPHA 9 ESTADO ALPHA 2 TELEFONE ALPHA 13 OBSERVACOES ALPHA 255 Entre no software DATABASE DESKTOP, que é instalado juntamente com o Delphi 7 , dentro dele vá até o menu FILE / NEW / TABLE... Autor: Luiz Fernando Minato

Upload: luizfminato

Post on 07-Aug-2015

83 views

Category:

Documents


6 download

DESCRIPTION

Criando banco de dados em rede no Delphi

TRANSCRIPT

Page 1: Criação BD Delphi

Autor: Luiz Fernando Minato

CONSTRUÍNDO UM BANCO DE DADOS PARADOX 7.0ACESSO LOCAL E EM REDE - DELPHI 7

Caro leitor, nesta apostila irei demonstrar como se construir um banco de dados para se trabalhar em um computador Local, e posteriormente iremos migrá-lo para fazer o mesmo trabalhar em Rede, com múltiplos usuários acessando simultaneamente o banco de dados.Gostaria de enfatizar que iremos trabalhar com tabelas do tipo PARADOX 7.0, e não iremos criar nenhuma espécie de relatórios, será apenas trabalho com o banco de dados.Será necessário ter instalado junto aos comutadores que irão utilizar o banco de dados, o software BDE ADMINISTRATOR, que é fornecido juntamente com o Delphi 7.Existe a instalação separada do BDE ADMINISTRATOR, para os computadores que só farão o uso do banco de dados e não irão criar softwares, para isso a instalação deverá ser procurada na internet, lembrando que é Grátis.

Primeiramente temos que elaborar uma estrutura de dados que iremos criar, pois precisamos saber o que iremos fazer e quais as informações necessárias, antes de colocar a mão na massa.

Abaixo estrutura de dados da tabela de cadastro:

CAMPO TIPO TAMANHOCHAVE

PRIMÁRIAE_MAIL ALPHA 100 *NOME ALPHA 30CIDADE ALPHA 20CEP ALPHA 9ESTADO ALPHA 2TELEFONE ALPHA 13OBSERVACOES ALPHA 255

Entre no software DATABASE DESKTOP, que é instalado juntamente com o Delphi 7 , dentro dele vá até o menu FILE / NEW / TABLE...

Será exibida uma nova tela, marque a opção: PARADOX 7, e clique em OK.

Autor: Luiz Fernando Minato

Page 2: Criação BD Delphi

Autor: Luiz Fernando Minato

A tela de construção da tabela será exibida, conforme abaixo, comece então digitando as informações conforme a estrutura que criamos.

Ao fim da digitação, a criação da tabela ficará exatamente assim:

“NÃO ESQUEÇA DE SETAR A CHAVE PRIMÁRIA PARA O CAMPO E_MAIL”

Autor: Luiz Fernando Minato

Page 3: Criação BD Delphi

Autor: Luiz Fernando Minato

Informamos que a chave primária do nosso banco de dados será o E-mail, pois não pode haver dois cadastros com o mesmo e-mail, pois indica que é a mesma pessoa.

Agora você deve estar se fazendo duas perguntas:

“porque todos os dados estão no formato Alpha, sendo que o CEP e o TELEFONE são apenas números?”

“porque o tamanho dos campos são maiores que o necessário para digitação dos dados do CEP e TELEFONE?”

Então caros leitores, agora eu faço as seguintes perguntas a vocês:

“se eu quiser criar uma máscara para os campos CEP e TELEFONE, nos formatos padrões, serão guardados apenas números eu caracteres especiais também, tais como

hífen e parênteses?”

“caso eu acrescente estas máscaras, os campos não ficarão maiores que se eu digitasse somente números?”

Pois sim caros leitores, iremos guardar caracteres especiais também, veja abaixo os exemplos:

Campo CEP: #####-###Campo TELEFONE: (##)####-####

Agora que está tudo explicado, iremos continuar...Clique em “Save”, e salve o arquivo no diretório provisório: “C:\BD” com o nome de “CADASTRO1.db”.

Iremos criar uma nova tabela, contendo os ESTADOS, para facilitar um pouco a vida de quem for cadastrar.

Pergunto: Mas para quê criar outra tabela com estados, sendo que podemos colocar em um GroupBox ou coisa parecida e transferi-lo para o campo da tabela?

Respondo: Para demonstrar como podemos criar valores “variáveis” que podem ser cadastrados e escolhidos sem haver discrepância nos dados de cadastro.

CAMPO TIPO TAMANHOCHAVE

PRIMÁRIAESTADO ALPHA 2 *

Faça o mesmo procedimento que fizemos anteriormente para criar a tabela principal.Salve o arquivo no mesmo diretório provisório: “C:\BD” com o nome de “ESTADO.db”.

“NÃO ESQUEÇA DE SETAR A CHAVE PRIMÁRIA PARA O CAMPO ESTADO”, note que a chave primária da tabela principal não está no campo ESTADO, e sim no campo E_MAIL, pois na tabela principal poderá haver vários cadastros com o mesmo ESTADO, agora na tabela ESTADO só poderá haver um estado igual cadastrado.

Agora, vamos deixar o Database Desktop de lado e vamos trabalhar no Delphi, fazendo todas as configurações para o banco de dados funcionar modo LOCAL.

Autor: Luiz Fernando Minato

Page 4: Criação BD Delphi

Autor: Luiz Fernando Minato

Abra o Delphi 7 e vamos navegar até a aba BDE:

Quero chamar sua atenção apenas para um componente da aba BDE, o componente TABLE,

este componente é o principal responsável pela interligação das suas tabelas com o seu software. Cada TABLE é responsável pelo gerenciamento das informações de uma única tabela, ou seja, se você tiver 100 tabelas para acessar, devem ser colocados 100 componentes TABLE no seu software, um para cada banco de dados.

Então para o nosso caso, utilizaremos dois componentes TABLE, um para a tabela “CADASTRO1.db” e outro para a tabela “ESTADO.db”.

Agora vamos navegar na aba DATA ACCESS:

Outro componente para o gerenciamento do banco de dados, é o componente DATA

SOURCE, este componente é responsável pela distribuição de campos dentro do nosso formulário, ou seja, ele fará a ligação entre um campo da TABLE e um componente de entrada de dados, no nosso caso DBEDIT ou DBLookupComboBox.A diferença deste componente para o TABLE, além de sua função, é que não é necessário um componente para cada campo, pois com um componente podemos gerenciar todos os campos do nosso formulário.Neste caso, para cada componente TABLE, teremos um componente DATA SOURCE, ligado na TABLE.

1 componente = 1 componente Então para o nosso caso, utilizaremos dois componentes DATASOUCE, um para a TABLE “CADASTRO1.db” e outro para TABLE “ESTADO.db”.

Vamos começar iniciando o Delphi 7, e por “default” ele inicia uma nova aplicação automaticamente.

Autor: Luiz Fernando Minato

Page 5: Criação BD Delphi

Autor: Luiz Fernando Minato

Dentro de sua aplicação, crie um DATA MODULE.O DATA MODULE irá abrigar os componentes TABLE e DATA SOURCE, para fazer a conexão com o banco de dados e o software.

Para criar um DATAMODULE, entre no menu: FILE / NEW / OTHER...Na aba NEW, escolha a opção DATA MODULE e clique em OK.

Dentro do DATA MODULE, adicione 2 componentes TABLE e 2 componentes DATA SOURCE.

Agora faremos a configuração destes dois componentes, antes mesmo de fazer formulário.

CONFIGURAÇÃO DOS COMPONENTES TABLE: Estas configurações são muito importantes:

Selecione o componente TABLE1, e vá para o Object Inspector, para alterar suas propriedades, na seqüência abaixo. Não faça fora desta seqüência, pois dará erro.

TABLENAME = C:\BD\CADASTRO1.db TABLETYPE = TTPARADOX ACTIVE = TRUE

Autor: Luiz Fernando Minato

Page 6: Criação BD Delphi

Autor: Luiz Fernando Minato

Lembra quando falamos sobre as máscaras de entrada dos campos CEP e TELEFONE? Pois é, é neste momento que iremos inserir as máscaras dos campos.Ainda no TABLE1, dê dois cliques no componente (TABLE1), na tela que aparecer clique com o botão direito do mouse, e escolha a opção ADD ALL FIELDS.

Todos os campos da TABLE1 serão inseridos na tela, agora selecione o campo CEP, e vá para o Object Inspector.

Autor: Luiz Fernando Minato

Page 7: Criação BD Delphi

Autor: Luiz Fernando Minato

Altere a propriedade:

EDITMASK = 00000\-999;1;_

Agora selecione o campo TELEFONE, e vá para o Object Inspector novamente.

Altere a propriedade:

EDITMASK = !\(99\)0000-0000;1;_

Pronto, as máscaras de entrada já estão criadas. Show de bola...

Selecione o componente TABLE2, e vá para o Object Inspector, para alterar suas propriedades, na seqüência abaixo. Não faça fora desta seqüência, pois dará erro.

TABLENAME = C:\BD\ESTADO.db TABLETYPE = TTPARADOX ACTIVE = TRUE

Pronto, os TABLE já foram configurados, agora faremos a configuração dos DATA SOURCE.

CONFIGURAÇÃO DOS COMPONENTES DATA SOURCE: Estas configurações são muito importantes:

Selecione o componente DATA SOURCE1, e vá para o Object Inspector, para alterar sua propriedade.

DATASET = TABLE1

Autor: Luiz Fernando Minato

Page 8: Criação BD Delphi

Autor: Luiz Fernando Minato

Selecione o componente DATA SOURCE2, e vá para o Object Inspector, para alterar sua propriedade.

DATASET = TABLE2

Pronto, os DATA SOURCE também já foram configurados, agora seu banco de dados está pronto para rodar e gerenciar as informações.

Agora salve sua aplicação no diretório que quiser, para não perder o que foi feito até agora.

O próximo passo será a criação dos formulários de cadastro e consulta, de registros.

Faça o seguinte, volte para o FORM1 da sua aplicação, e vamos dar uma olhadinha na aba DATA CONSTROLS, nesta aba existem os campos que irão conter as informações do banco de dados.

Nós daremos atenção especial a quatro componentes desta aba, o primeiro é o componente

DBEdit que fará ligação dos campos de texto simples, o componente BDNavigator que fará a navegação entre os registros do banco de dados e o componente

DBLookupComboBox que solicitará dados da tabela ESTADO.db e gravará os dados selecionados no banco de dados CADASTRO1.db.

Existem outros componentes que poderíamos estar utilizando neste formulário, mas como esta apostila servirá somente como um auxílio de ligação de banco de dados LOCAL / REDE, não irei demonstrar todos os componentes nesta.

Bem, agora coloque os seguintes componentes para cada campo:

Autor: Luiz Fernando Minato

Page 9: Criação BD Delphi

Autor: Luiz Fernando Minato

E_MAIL = DbEdit NOME = DbEdit CIDADE = DbEdit CEP = DbEdit ESTADO = DBLookupComboBox TELEFONE = DbEdit OBSERVAÇÕES = DbEdit Coloque também um componente BUTTON, para fechar a aplicação

Insira também uma DBNavigator, para que você possa fazer a navegação pelos dados do seu banco de dados.

Identifique cada campo do formulário, colocando na frente de deles um componente LABEL, que se encontra na aba STANDARD, e alterando a propriedade CAPTION dos mesmos pelo nome de cada campo.

Seu Form1 deverá ficar parecido com o a figura abaixo.

Agora vamos ligar os componentes aos campos do nosso banco de dados. Este procedimento que irei listar agora, deverá ser repetido para todos os componentes DBEdit. O único componente que terá configuração diferenciada é o DBLookupComboBox, pertencente ao campo ESTADO.

Passos a serem seguidos para os DBEdit:

Selecione o componente que você irá alterar as propriedades e vá para o OBJECT INSPECTOR

Propriedade DATASOURCE = DATASOURCE1 Propriedade DATAFIELD = “Nome do campo do formulário”

Passos a serem seguidos para o DBLookupComboBox1:

Selecione o campo EDTADO e vá para o OBJECT INSPECTOR Propriedade LISTSOURCE = DATASOUCE2 Propriedade LISTFIELD = ESTADO Propriedade DATASOURCE = DATASOURCE1 Propriedade DATAFIELD = ESTADO

Vamos entender a configuração do DBLookupComboBox1:

1. A propriedade LISTSOURCE indica de qual banco de dados será retirada a listagem

Autor: Luiz Fernando Minato

Page 10: Criação BD Delphi

Autor: Luiz Fernando Minato

dos estados.2. A propriedade LISTFIELD indica de qual campo do banco de dados a listagem será

retirada para mostrar ao usuário.3. A propriedade DATASOURCE indica em qual banco de dados será gravado o valor

selecionado.4. A propriedade DATAFIELD indica em qual campo do banco de dados o valor será

gravado.

Passos a serem seguidos para os DBNavigator:

Selecione o componente DBNavigator1 e vá para o OBJECT INSPECTOR Propriedade DATASOURCE = DATASOURCE1

Indique o commando ONCLICK do componente BUTTON1, com a função Close.

Pronto, sua aplicação já se encontra funcionando em modo LOCAL.Faça alguns teste, adicione cadastros e verifique se tudo está correndo normalmente.Implemente sua form, coloque recursos de busca, filtros, dentre outras coisas bacanas que podem ser muito útil na hora de pesquisar os registros, busque na internet códigos fonte ou componentes que te auxiliem. Tenho certeza que implementar seu form será muito útil.

COLOCANDO O BANCO DE DADOS PARA RODAR EM MODO DE REDE

Muito acham que colocar um banco de dados para rodar em uma rede é um bicho de sete cabeça, mas ao contrário do que todos pensam, eu acho muito fácil, tendo em vista que são apenas configurações de caminhos para serem alteradas.Mas para que o banco de dados funcione corretamente, com muitas pessoas conectadas ao mesmo tempo, sem perder dados, corromper arquivos ou coisas do gênero, é necessário e indispensável ter o software BDE ADMINISTRATOR instalado em todas as máquinas que utilizarão o banco de dados.O que deve-se prestar atenção é no sistema operacional de cada máquina, 32Bits ou 64Bits, pois o BDE Administrator é diferente para ambos os sistemas.A instalação é GRÁTIS, não tem custo algum, e pode ser encontrada facilmente na internet, procure no Google que certamente você irá encontrar.

Abaixo alguns passos que devem ser seguidos antes de darmos início ao nosso objetivo, e não dever ser pulados ou ignorados, caso contrário não irá funcionar.

1. Instale o BDE Administrator em todas as máquinas que irão utilizar o software com conexão ao banco de dados

2. Mova o banco de dados para uma pasta FIXA na rede, ou seja, você não deve ficar mudando toda hora esta pasta, pois os caminhos se desencontrarão.

3. Mapeie uma unidade PADRÃO (H:\ ou R:\ ou V:\ ou qualquer outra que não seja usual na sua empresa ou na sua casa), mas de preferência a mesma para todas as máquinas.

4. Configure o BDE Administrator em cada máquina, uma por uma, sem exceção.

ATENÇÃO: Todos os usuários deverão ter acesso de LEITURA E GRAVAÇÃO na pasta para onde será movido o banco de dados.

Acesse o software BDE Administrator, ele se encontra no menu iniciar do Windows.

Autor: Luiz Fernando Minato

Page 11: Criação BD Delphi

Autor: Luiz Fernando Minato

Na aba CONFIGURATION, selecione CONFIGURATION / DRIVERS / NATIVE / PARADOX

Na aba DEFINITION, altere a propriedade NET DIR, colocando o caminho da pasta onde se encontram todos os bancos de dados.

Autor: Luiz Fernando Minato

Page 12: Criação BD Delphi

Autor: Luiz Fernando Minato

Voltando para a aba CONFIGURATION, selecione SYSTEM / INIT

Na aba DEFINITION, altere a propriedade: LOCAL SHARE = TRUE

Feche e SALVE as modificações feitas.

Pronto, a configuração do gerenciamento das informações dos bancos de dados já estão corretas.

Agora deveremos entrar no nosso software em modo de edição pelo Delphi 7, e trocar os caminhos indicados nos componentes TABLE1 e TABLE2, para onde se encontram os bancos de dados movidos.

Agora sim está PRONTO! Você acabou de deixar seus bancos de dados para acesso remoto via REDE.Para dar mais segurança às informações, sugiro a você procurar algo sobre inserir senha nas tabelas Paradox. Se bem que existem senhas mestras que anulam qualquer senha colocada pelo usuário, mas nenhum curioso de plantão terá acesso rápido às tabelas se ele não saber direitinho o que está fazendo e onde quer chegar.

Espero que tenham gostado, para dúvidas e sugestões podem entrar em contato comigo.

Autor: Luiz Fernando MinatoE-mail: [email protected]

Esta apostila foi elaborada sem fins lucrativos, não podendo ser vendida ou comercializada, servindo apenas para fins educacionais.

Autor: Luiz Fernando Minato