Vous êtes sur la page 1sur 13

ADO com ACCESS

por Marcelo Nogueira


Pertencente a famlia Microsoft, a camada de acesso ADO, incorporada ao
DELPHI 5 Enterprise, podendo ser vendida separadamente aos usurios da verso
Profissional, veio para facilitar demais a utilizao dos bancos de dados ACCESS e
SQL Server.
De maneira fcil e intuitiva, voc consegue efetuar a conexo e utilizar
diretamente esta camada de acesso utilizando o driver nativo do banco, obtendo
performance e estabilidade.

Ento Vamos l
Eu pediria bastante ateno devido ao grau de dificuldade que vocs sero
testados neste momento.Boa sorte a todos!
Para nosso exemplo utilizaremos os seguintes componentes:

Coloque no form os seguintes componentes:


-

Ado Connection
Ado table
Data Source

DB Grid
DB Navigator

Agora vamos lig-los:


No ADOConnection1
Propriedade ConnectionString Clique nos

Clique em Build

Selecione o drive do Access : Microsoft Jet 4.0 OLE DB Provider.

Clique em NEXT...

No Item 1 Select or enter a database name , clique nos ...


Set o path:
C:\Arquivos de programas\Arquivos comuns\Borland Shared\Data\dbdemos.mdb
Clique em Test Connection...

Aparecendo esta mensagem , OK sua conexo est realizada com sucesso!


Clique OK,Clique OK e Clique OK.
Ainda no ADOConnection , na propriedade Connection selecione : True
Caso aparea a janela

Clique em OK...
E na propriedade LoginPrompt , selecione FALSE, para que esta janela no aparea
cada vez que voc conectar ao banco de dados.
Continuando ....
No DataSource1:
DataSet:= ADOTable1
No DBGrid1:
DataSource:=DataSource1
No DBNavigator:
DataSource:=DataSource1
ADOTable1
Connection:=ADOConnection1
TableName:=country
Active:=True
Pronto veja como ficou seu exemplo:

agora rodando ...

Um abrao todos!!!
Marcelo Nogueira
SOFTWAY Informtica
R.Almeida de Moraes , 164 , Cj 43 , Vila Mathias Santos SP (13) 3222.4498
http://www.noginfo.com.br - e-mail : suporte@noginfo.com.br

COMENTRIOS
Divino Rio Verde GO - 15/12/2002 - 20:14:54

parabns no tenha medo de ensinar, porque poucas pessoas que reallmente querem
ensinar, por genileza preciso de uma boa apostila de paradox 7, muito detalhada.
Desde ja eu agradeo, meu e mail
riov@uol.com.br
................................................
Bianche - SP - 16/12/2002 - 09:38:58

Value pela ajuda, continue !


................................................
Teu Nome - 23/12/2002 - 15:43:15

Para o Divino Rio Verde.


Paradox? C? t de sacanagem.
................................................
Ernesto R. Ten?rio - - 02/01/2003 - 12:05:32

Excelente artigo, s que um pouco b?sico, ele mais para iniciantes, mais no deixa a
sedejar na qualidade. Ali?s, todo o site excelente, at coloquei alguns artigos dele no
meu site, www.DelphiBoy.hpg.ig.com.br/index.html#Artigos
O site s peca em disponibilizar o maior repositrio de Delphi da Am?rica Latina o
programa DelphiBoy com atualmente 1074 dicas, rotinas, units, artigos, etc...
................................................
Marcos (Pelotas RS) - 03/01/2003 - 17:29:40

Muito bom eu ja trabalho com ADOQuery prefiro e fao minhas consultas direto no
access e as acesso pelo delphi mesmo com componentes ADO tenho um ganho de
velocidade. Tem algumas propriedades do ADOConection que devem serem setadas para
quando o usurio tiver com sistemas diferentes abertos a mesmo tempo mas que usam a
mesma base de dados no de erro...
................................................
Marcos (Pelotas RS) - 03/01/2003 - 17:30:17

email: lgerard@tutopia.com.br
................................................
Marcos - 16/01/2003 - 11:30:22

Agora ensina a fazer incluso, excluso, edio e consultas com ele ( o ADO). Sou
iniciante e gostaria de saber como. Valeu
................................................
Luis Augusto Lemos - 10/02/2003 - 23:11:56

Tenho uma dvida: Tentei executar uma consulta com TAdoQuery e depois que a query
no me retorna registro algum e vou pesquisar novamente apresena o seguinte erro:
"Either BOF or EOF is true or the current record as been deleted".
Voc saberia me dizer oque significa isso e como posso resolver
Obrigado.
................................................
Adriana - 17/02/2003 - 16:56:11

Ok. Mas como faco quando a base de dados possui senha?

Tentei mudar as informacoes para fazer logon, mas nao funciona. Da erro.
................................................
Marcelo Fernandes Go - 19/02/2003 - 08:49:50

Essa pra vcs que sacam de Delphi com ACCESS. Como fao para recuperar uma
imagem armazanada em um banco access usando ADO?? Tentei de vrias formas,
usando FieldByName e acesso direto por um DBImage, mas nada funcionou. O erro
exibido o seguinte: "Unknown picture extension (.)". Por que isso ocorre?? Tentei
realizar esse processo usando imagens com vrias extens?es diferentes, dentre elas,
.BMP mas no deu certo.
Uso o Delphi 6 e ACCESS XP.
Se puderem me ajudar, por favor entrem em contato.
Obrigado.
marcelo@pinauto.com.br
................................................
Tarc?sio Ferreira - - 20/02/2003 - 19:36:25

Para Acessar o BD Access com senha atrav?s do ADO uso uma string de conexo com
esta:
Provider=MSDASQL.1;Password=SENHA;Persist Security Info=True;User
ID=admin;Extended
Properties="DBQ=C:\CAMINHO\Db.mdb;DefaultDir=C:\CAMINHO;Driver={Driver
do Microsoft Access (*.mdb)};DriverId=25;FIL=MS
Access;FILEDSN=C:\CAMINHO\ARQUIVO.dsn;MaxBufferSize=2048;MaxScanRows
=8;PageTimeout=5;PWD=SENHA;SafeTransactions=0;Threads=3;UID=admin;UserCo
mmitSync=Yes;"
Espero ter ajudado.
tarcisio_jr@hotmail.com
................................................
Fco.Haroldo - 24/02/2003 - 14:39:28

Tem algum meio de fazer este procedimento com o delphi 4.


................................................
Tarc?sio Ferreira - - 25/02/2003 - 10:08:13

Com o D4 se no me engano o componente ADO no acompanhava o Delphi, mas no


D5 com certeza.
Com o D4 voc poder utilizar o acesso via ODBC com senha, fica mais lento, mas
funciona.
tarcisio_jr@hotmail.com
................................................
DelphiExpert - 08/03/2003 - 16:52:02

? interessante usar o poder do ADO (ActiveX Data Objects) para acessar banco de dados
mais poderosos, como o SQL Server da Microsoft. Agora com o Office XP e com o
MSDE fica mais fcil esquecer o uso do Access e passar para o MS SQL.
Mas claro que o Access muito bom para projetar uma base de dados, pois a

ferramenta mais fcil de se utilizar mas quando a coisa comea a engrossar o Access no
d? conta no!
Abraos.
................................................
Marcelo Fernandes - 12/03/2003 - 02:59:37

Essa pra vcs que sacam de Delphi com ACCESS. Como fao para recuperar uma
imagem armazanada em um banco access usando ADO?? Tentei de vrias formas,
usando FieldByName e acesso direto por um DBImage, mas nada funcionou. O erro
exibido o seguinte: "Unknown picture extension (.)". Por que isso ocorre?? Tentei
realizar esse processo usando imagens com vrias extens?es diferentes, dentre elas,
.BMP mas no deu certo.
Uso o Delphi 6 e ACCESS XP.
Se puderem me ajudar, por favor entrem em contato.
Obrigado.
marceloarcano@hotmail.com
................................................
Jonas DELPHI 6 - 05/04/2003 - 16:09:53

Vcs sabem como devo proceder usando o ado connecting para criar instalao com
install shield do delphi 5 e 4, pq ja instalei duas vezes e ta dando pau MEU ICQ
84854664, intalar tanto cliente como servidor com maquinas remotas..como fao..?
................................................
Cestao - 05/04/2003 - 18:41:28

erro na consulta de um banco de dados Access: "Either BOF or EOF is true or the
current record as been deleted".
Delphi 5 Enterprise Edition
para corrigir necessrio o Delphi 5.0 Enterprise update pack #1, que ir? pedir seu
numero de serie e key, depois instalar o ADOupdate (no site da Borland). Sou iniciante
no uso do Delphi, mas isso resolveu. cestao@ig.com.br
................................................
Jonas delphi 6 - 12/04/2003 - 16:11:46

Alguem sabe por gentileza como devo proceder na criao e intalao de disco de
instalao com banco access usando ado connection...?
................................................
Marlon - 06/06/2003 - 15:35:43

muito interessante seu artigo, mas, estava interessado em uma outra coisa.. programar os
botoes separadamente sem usar o "DBNavigator". se pudesse me ajudar
Agradeo desde j
................................................
Sergio Falco Daniel - 30/06/2003 - 19:59:03

Eu gostaria de Fazer uma Consulta sensativa com adoquery1 mais no estou


conseguindo ele diz que o From este com sinstaxe errada.
o eu projeto comea assim

1 UMA EDIT1.TEXT
2 DBGRID
3 ADOQUERY1
4 ADOCONNECTION
A EDIT1.TEXT NO EVENTO ONCHANGE
With ADOQUERY1 DO BEGIN
CLOSE;
SQL.ADD('SELECT *');
SQL.ADD('FROM CLIENTES');
SQL.ADD('wHERE NOME LIKE :VARNOME');
PARAMENTERS.PARAMBYNAME('VARNOME'.VALUE:=EDIT1.TEXTE + '%';
SQL.ADD('ORDER BY NOME');
OPEN;
END;
Depois que eu termino o projeto e executo
a pesquiza ele me da o erro FROM de sintaxe
eu gostaria que vc me desse uma dica de como eu posso corrir este problema
Sem Mais obrigado
A sim eu gostaria de saber o que eu devo levar no InstallShid para instalar o programa
................................................
Sergio Falco Daniel - 02/07/2003 - 19:50:04

Eu gostaria de Saber como e que fao para executar um aplicativo Desenvolvido Com
ADO Visto que eu no estou levendo o BDE
Eu tambem gostaria de saber como e que eu abro um projeto em outro micro onde nao
foi desenvolvido o progama visto que toda vez que eu tento ele diz que o caminho esta
incorreto
................................................
Paulo G. Tillmann - 10/09/2003 - 16:16:05

Marcelo Nogueira,
Parabns pelo turotial sobre o ADO, continue assim pessoas como voc que ajudando a
comunidade Delphi crescer...
................................................
Paulo G. Tillmann - 10/09/2003 - 16:18:06

Marcelo Nogueira,
Parabns pelo turotial sobre o ADO, continue assim pessoas como voc que ajudando a
comunidade Delphi crescer...
................................................
H?lio Teshima Jnior - 16/09/2003 - 03:09:32

Muito legal o tutorial, mas tenho um problema que tb j foi apresentado nos
comentrios... Estou tentando fazer uma consulta usando o ADOQuery, mas no estou
conseguindo... Algum poderia me ajudar??? helio.teshima@ig.com.br
................................................
Erick Le - 31/10/2003 - 08:28:20

Como eu fao uma consulta nesse ado?


e-mail: erick_leao@yahoo.com.br
................................................
Roberto Costa - 16/01/2004 - 08:48:04

Valeu.
Ganhei $100,00 dolares com 2 dia de trabalho com a ajuda do seu tutorial
................................................
Leondo de Oliveira - 25/01/2004 - 02:17:05

Gostei muito do seu tutorial,pois sou iniciante no delphi mas uso o access,
como fao uma pesquisa com o ADO em que a medida que eu for digitando num edit a
pesquisa v? se atualizando num DBGrid?
Desde j agradeo
leondo@ig.com.br
................................................
?talo - 25/01/2004 - 22:53:09

Cara eu to com um problema grande aki!!!


Toda vez que eu tento fazer qualquer com o Banco(gravar, alterar etc) ele da erro de
leitura!!
J? tentei de Tudo, mas nada funciona!!
Vc pode me Ajudar??
................................................
ALEX DIAS - 11/02/2004 - 00:00:23

JA USO ADO X DELPHI A ALGUM TEMPO MAS NUNCA CONSEGUI COLOCAR


SENHA NO MEU BANCO FISICO E DEPOIS ACESSA-LO USANDO ADO , COM
ODBC EU JA CONSEGUI, JA PEDI AJUDA POR TODA WEB , O GRANDE
PROBLEMA E QUE APARENTEMENTE VAI FUNCIONAR APOS FAZER TODOS
OS PASSOS E APOS TESTAR A CONEXAO ELA RETORNA "CONNECTION
SUCESSUED " E ESSE O PROBLEMA POIS NA HORA DE EDITAR ABRIR OU
SALVAR NA TABELA "DA PAU" SE VC PODER ME AJUDAR EU AGRADECO ,
MAS POR FAVOR No PARE OS TESTES NA TELA DE TESTE CONEXAO E SIM
CRIE UMA PEQUENA APLICA?AO E VA ATE OS FINALMENTE ". . .
OBRIGADO
ALEX DIAS
................................................
Fabio Morikawa - 24/03/2004 - 16:22:46

Boa tarde, meu nome Fabio Morikawa e estava olhando seu comentario sobre a
utilizao de ADO no Delphi e s gostaria de saber se vc pode tirar uma duvida minha,
acho que deve ser b?sica para vc, o seguinte:
Se eu conectar mau banco de dados(Access) com o Delphi atrav?s do ADO na hora que
for rodar em outra m?quina(que no tenha o Delphi e o BDE instalados) ele vai

funcionar tranquilo ou vai precisar configurar mais alguma coisa(por exemplo no


ODBC).
que fiz um teste criando um tabela no access e fazendo a cone?o e tudo beleza,
funcionou certo, mas di resolvi copiar o banco e a tabela para outra maquina e gerou
um erro de log quando executava o programa!!!
que estou querendo me livre da utilizao do BDE, pois nos cliente ele no est
instalado e se eu for relacionar o Delphi com o Access atraves do BDE terei que instalar
em todas as maquinas e crias o Alias ainda!!!
Valeu a fora e muito obrigado.
................................................
Jairo F Santos - 18/07/2004 - 16:03:01

Gostaria de saber o que substitui em ADO o SetKey e FindKey.


Pois quero realizar uma pesquisa em ADO s que com FindKey e SetKey, no consigo,
se poder me mandar um exemplo de como posso fazer consulta/Pesquisa em ADO e que
tambem substitua o exemplo abaixo, eu agradeo.
Desde j OBRIGADO
JAIROFS@GLOBO.COM
Dm.TbManifesto.SetKey;
Dm.TbManifesto.FieldByName('CMAN_MAN').AsString := Trim(EdtManif.Text);
if not Dm.TbManifesto.FindKey([Trim(EdtManif.Text)]) then
begin
TOper := 'I';
MskCMot.Enabled := True;
end;
................................................
Flavio - 17/08/2004 - 04:32:42

Por favor, mostrem como fazer um insert usando ADO e PRINCIPALMENTE como
fazer o DBgrid atualizar.
................................................
Ednei - 28/12/2004 - 19:38:02

Tenho uma duvida...


desenvolvi um aplicativo em Delphi 6 acessando BD Access atraves do ADO, porem, o
aplicativo quando aberto por mais de um usuario, em maquinas diferentes, nao me
possibilita a insero ou salvar os novos dados que desejo inserir, me dado o erro "A
operao deve usar uma consulta atualizavel". o q fao para que diversos usuario
utilizando o aplicativo ao mesmo tempo possam manipular o access
................................................
Ednei - 28/12/2004 - 19:38:34

quem souber poderia me responder??


espigao3000@yahoo.com.br
................................................
Lucio Juliano - 10/01/2005 - 17:24:56

ola, gostaria de saber como resolver um quando problema usando o ADO no Delphi 5.0,
eu uso um banco de dados SQL, tenho uma tabela que tem mais de 250.000 registro e

sempre quando o usuario vai consutar ele retorna um erro TEMPO LIMITE
ESGOTADO como resolvo isso. muito obrigado.
luciojuliano@hotmail.com
................................................
Anielo Basile - 26/04/2005 - 12:16:02

Gostaria de saber se possivel conectar uma aplicao delphi local a um banco access
que esta na internet, utilizando ADO ?
anielo.filho@uss.com.br
................................................
Alcides de Sousa Cos - 31/08/2005 - 18:15:51

Gostaria saber como trabalhar com o conjunto de componente do ADO, dentro de um


Data Module; quando coloco dentro do m?dulo, perco a conexo, ou seja, por exemplo:
um DBEdit.tex fica travado!
email:alcidssc@terra.com.br
desde j agradeo pela aten?o dispensada!
................................................
Vicente Miranda - 12/09/2005 - 12:11:47

Muito bacana esse artigo. Nota 11.


................................................
Glaucio Makino - 31/10/2005 - 16:30:25

Gostaria de saber como posso fazer uma conexo de um cliente atrav?s de uma
determinada porta ao banco de dados do servidor sem que esse no tenha seu diretorio
compartilhado em uma rede local.
email: gkgmpr@yahoo.com.br
................................................
Luis - 09/11/2005 - 09:28:11

Estou comeando agora com ADO, gostaria de saber como fao para rodar em rede, com
4 micros, sendo um servidor e 3 esta??es.
Luis
................................................
SANDRA ARNHOLD - 06/12/2005 - 10:37:25

Achei muito interessante o artigo. Estou precisando utilizar banco de dados Access e
preciso fazer estas consultas via ADO. j fiz a conexo e est funcionando, mas no
estou conseguindo encontrar m?todos que substituam FINDKEY, FINDNEAREST e
LOCATE. Pelo que entendi o FINDKEY faz uma pesquisa exata(utilizando ndices) e
FINDNEAREST(utiliza ndices) e LOCATE fazem uma pesquisa aproximada.
Estou precisando entender isto, pois estou mudando um sistema de BDE e PARADOX
para ADO e ACCESS, mas pretendo se possvel mudar tudo para instru??es sql.
Alm disso, algum sabe se ADO trabalha com ndices?
Obrigada.
................................................
SANDRA ARNHOLD - 06/12/2005 - 12:30:44

Achei muito interessante o artigo. Estou precisando utilizar banco de dados Access e

preciso fazer estas consultas via ADO. j fiz a conexo e est funcionando, mas no
estou conseguindo encontrar m?todos que substituam FINDKEY, FINDNEAREST e
LOCATE. Pelo que entendi o FINDKEY faz uma pesquisa exata(utilizando ndices) e
FINDNEAREST(utiliza ndices) e LOCATE fazem uma pesquisa aproximada.
Estou precisando entender isto, pois estou mudando um sistema de BDE e PARADOX
para ADO e ACCESS, mas pretendo se possvel mudar tudo para instru??es sql.
Alm disso, algum sabe se ADO trabalha com ndices?
Obrigada.
................................................
SANDRA ARNHOLD - 06/12/2005 - 13:58:08

Achei muito interessante o artigo. Estou precisando utilizar banco de dados Access e
preciso fazer estas consultas via ADO. j fiz a conexo e est funcionando, mas no
estou conseguindo encontrar m?todos que substituam FINDKEY, FINDNEAREST e
LOCATE. Pelo que entendi o FINDKEY faz uma pesquisa exata(utilizando ndices) e
FINDNEAREST(utiliza ndices) e LOCATE fazem uma pesquisa aproximada.
Estou precisando entender isto, pois estou mudando um sistema de BDE e PARADOX
para ADO e ACCESS, mas pretendo se possvel mudar tudo para instru??es sql.
Alm disso, algum sabe se ADO trabalha com ndices?
Obrigada.
................................................
O Envio de Comentrios est suspenso temporriamente