Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 12 de Junho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
80 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  ACESSO A BANCO DE DADOS EM ACCESS COM DELPHI
Publicado por edusf : Quarta, Setembro 03, 2003 - 11:40 GMT-3 (82682 leituras)
Comentários 30 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Sou estagiário do Laboratório de Hidráulica Computacional, da UFRJ. Aqui, sempre foi usado BDE para acessar e manipular banco de dados. Porém...
, atualmente, todos os sistemas que usam BDE estão sendo substituídos para ADO. Nesse artigo, serei bem específico. A pergunta a ser respondida é: como acessar um banco de dados em Access através do ADO??
Inicialmente, copie o seu banco de dados do access para a mesma pasta onde está o seu projeto do delphi.
Depois, no delphi, vá até a guia ADO e insira no projeto um ADOConnection. Na propriedade ConnectionString, clique em ...
Selecione Use Connection String e clique em build. Selecione então, na guia Provider, Microsoft Jet 4.0 OLE DB Provider. Clique em Next >>. Aparecerá um campo onde o delphi pede para entrar com o nome do banco de dados. Clique em ... e selecione o seu banco de dados em access. Depois clique em Test Connection. Se aparecer a mensagem Test Connection Succeeded, é porque o a conexão está funcionando. Clique em ok duas vezes (até retornar a tela com o form do delphi). Mude a propriedade login prompot para false.
Agora vem a grande sacada. Na propriedade Conection String, deve estar escrito em algum lugar o endereço do banco de dados que você quer acessar. Ex: C:\[diretorio]\...\[nome_do_banco.mdb]. O que você precisa fazer é substituir esse endereco pelo seguinte: .\[nome_do_banco.mdb]. Ou seja, o seu programa irá ler o banco de dados que estiver na mesma pasta que ele. Isto é um grande facilitador. Basta colocar o banco de dados em Access Na mesma pasta do seu projeto (ou do executável, quando ele for gerado) que vai rodar. Sem o chato do alias que o BDE exige.
Após fazer isto, você já tem uma conexão com o baco de dados em access. Para mostrá-la, insira um componente ADOTable, ainda na guia ADO, um DBGrid, na guia DataControls e um DataSource, na guia DataAccess.
Ainda no ADOConnection, altere a propriedade Connected para true. Na ADOTable, propriedade Connection, selecione o nome da sua conexão (ADOCOnnection). Em TableName, deve aperecer uma lista com todas as tabelas que seu arquivo do access possui. Selecione uma de seu interesse. Altere a propriedade Active para True.
Agora vá no DataSouce. Na propriedade DataSet, selecione o nome da tabela que você inseriu no Delphi (o padrão é ADOTable1). Agora no DBGrid altere a propriedade DataSource para o nome do dataSource que você inseriu (o padrão é DataSource1).
Pronto! Se tudo ocorreu bem, agora sua tabela apareceu no DBGrid. Jogue fora seu velho DBE. Você pode aproveitar os outros componentes da guia ADO. Um muito importante é o ADOQuery. Com ele você pode fazer consultas em SQL ao seu banco de dados. A lógica é a mesma. Ligar a Query a conexão, ligar o DataSouce a query e o DBGrid no Data Source. Para a query funcionar, é preciso que na propriedade SQL você insira o código da consulta. Você deve estar se perguntando: Mas que diabos de SQL! Eu não sei isso! É, mas eu também não sei grandes coisas sobre SQL e isso não me impediu de fazer a consulta que eu quiser. Isso se você souber Access (não me decepcione agora!).
Crie uma consulta pelo Access (no seu banco de dados). Clique em exibir/Modo SQL. Pronto! O código está ali prontinho para você inserir na propriedade SQL do seu ADOQuery. Apenas uma ressalva. repare no código SQL que primeiramente vem uma instrução SELECT ...FROMe depois uma WHERE. Isto significa que a consulta seleciona todos os campos que vez depois do select na tabela que vem depois do FROM, onde o valor de um determidado campo é definido. Isso vem depois do WHERE. Esse valor definido é chamado de parâmetro. O que vc precisa fazer é substituir o parâmetro por uma variável. Após o sinal de =, apague o parâmetro e escreva :[variável]. Ou seja, se eu quero que meu parâmetro seja o que estiver na variável codigo, o cógigo SQL fica WHERE [campo]=:codigo
Não mecha no resto do código SQL.
Ainda na Query, vá em Parameters ... a sua variável deve ter aparecido. Altere a propriedade value para um valor inicial para o seu parâmetro (pode ser aquele valor que vc apagou para substituir por :codigo).
Pronto, sua consulta esta feita. Agora, para mudar o parâmetro da consulta em tempo de execução, escreva em algum evento o cógido
ADOQUERY1.Parameters.ParamByName('codigo').Value := UmValor;
onde UmValor é um string contendo o parâmetro da consulta. Mas isso não basta para atualizar a consulta. Crie uma EditBox e um botão. No evento onClick do botão insira o segiunte código:
ADOQUERY1.Active := False;
ADOQUERY1.Parameters[0].Value := edit1.Text;
ADOQUERY1.Open;
ADOQUERY1.Active := True;

Pronto. Agora rode o programa. passe os parâmetros pela edit box e perceba que a consulta esta sendo atualizada a cada clique do botão.
É interessante alterar algumas propriedades da Query os Table. Mas falar sobre elas renderiam outro artigo. Espero que gostem. Qualquer dúvida, mandem um e-mail: edusf19@ig.com.br
Um abraço a todos
Eduardo Ferreira.


Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: Visitante : Set 04, 2003 - 11:06
muito bom...espero os próximos...


por: araujojunior : Set 12, 2003 - 02:25
(Informações sobre o membro | Enviar uma mensagem)
Bem, eu gosto do assunto mas tenho lá minhas dúvidas quanto ao acesso em rede, nesse ponto prefiro o BDE.


por: danielc : Nov 18, 2003 - 04:05
(Informações sobre o membro | Enviar uma mensagem)
Bom Artigo. Bem didático.


por: mauricio_rp : Abr 01, 2004 - 03:19
(Informações sobre o membro | Enviar uma mensagem)
Ótimo artigo, para quem nunca usou o access!! Muito didático.


por: Gedon : Mai 12, 2004 - 10:48
(Informações sobre o membro | Enviar uma mensagem)
Aqui... assim que acabou de alterar para true o conected... aparece uma janela pedindo login e senha... o q eu faço?


por: ttony : Jul 12, 2004 - 09:06
(Informações sobre o membro | Enviar uma mensagem) http://
Muito bom seu artigo.
Que pena que não havia achado antes. Fiquei um tempão me batendo para descobrir o uso do ADO. Acabei tendo que descobri na raça.


por: Cachoeira : Jul 26, 2004 - 10:03
(Informações sobre o membro | Enviar uma mensagem) http://
boa sacada o esquema do ./nomedobanco.mdb

já utilizo o ADO algum tempo, mas verifico o path da aplicação pra completar a string de conexão ...


por: Visitante : Set 12, 2004 - 11:56
Simplesmente magnífico, depois de muita procura encontrei um anjo que deu a solução por todas as minhas noites mal dormidas!! Agora basta aprendera fazer as devidas alterações!!!!


por: linocs : Set 16, 2004 - 10:08
(Informações sobre o membro | Enviar uma mensagem) http://http://
Gostei muito das informações, pois utilizava somente Paradox para pequenos trabalhos e agora já tenho outra opção, porém não consegui usar a senha no banco de dados; quando tento recebo uma mensagem dizendo que o banco está aberto em modo exclusivo ou sendo usado por outro usuário.
Alguem tem solução?


por: Clau : Nov 03, 2004 - 02:40
(Informações sobre o membro | Enviar uma mensagem)
Sou novata em programação e estou com um problema: No ADOConnection, quando eu altero a propriedade Connected, aparece uma janela pedindo o nome do usuário e a senha.
Neste caso eu não sei o que fazer.
Se puder me ajudar, serei grata por isso.


por: Kolzx : Nov 26, 2004 - 09:50
(Informações sobre o membro | Enviar uma mensagem)
no ADOConection existe um campo Login Promt, é so seta-lo para false que estara resolvido o problema do login




por: mwst50_ba : Jan 01, 2005 - 03:56
(Informações sobre o membro | Enviar uma mensagem)
Excelente. Mas, afinal existe ou nao alguma vantagem para se usar o alias.


por: eduardoalmeida : Jan 28, 2006 - 01:33
(Informações sobre o membro | Enviar uma mensagem)
ÓTIMO ARTIGO.. PARABÉNS... eu estava mesmo precisando saber como se acoplava acess no delphi.. o meu problema é que ao rodar o programa nao consigo digitar nada nos campos e apos fechar o aparece o seguinte erro:

PROJECT PROJECT1.EXE RAISED EXCEPTION CLASS EOLeEXCEPTION WITH MESSAGE 'BOF ou EOF sao verdadeiros, o registro atual foi excluido. A operação solicitada pelo aplicativo requer um registro atual'. Process stoped. use step or run to continue.

o que faço para corrigir?


por: japa_al : Mai 30, 2006 - 07:58
(Informações sobre o membro | Enviar uma mensagem)
Muito bom artigo!!!

Vou explorar um pouco, mais... qualquer dúvida posto novamente!!!!



por: wamj : Jun 24, 2006 - 03:03
(Informações sobre o membro | Enviar uma mensagem)
Eduardo, vc está de parabéns!

Kra eu estava procurando isso a três dias. Estou fazend um sistema para cadastro d senhas d alunos e n queria usar paradox.

O artigo está muito bem explicado. Mais uma vez parebéns e muito obrigado!!!


por: valasque : Jul 13, 2006 - 12:12
(Informações sobre o membro | Enviar uma mensagem)
muito bom.,.,.deu certo
ADO....é umas maneira mas facil de acessar um banco em access


por: felipe.net (felipeassoline@terra.com.br) : Abr 05, 2008 - 11:54
(Informações sobre o membro | Enviar uma mensagem)
MUITO BOM MESMOO

OBRIGADOO PELA FORÇA


por: edusf21 (edusferreira@gmail.com) : Set 16, 2011 - 02:55
(Informações sobre o membro | Enviar uma mensagem)
Caramba...faz tanto tempo que escrevi esse artigo. Nem imaginava que estava entre os mais lidos :)


por: edusf21 (edusferreira@gmail.com) : Set 16, 2011 - 02:55
(Informações sobre o membro | Enviar uma mensagem)
Caramba...faz tanto tempo que escrevi esse artigo. Nem imaginava que estava entre os mais lidos :) Atualizando meu e-mail... agora é edusferreira@gmail.com
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados