You are on page 1of 15

Delphi 7 Banco de Dados com ADO

UNIVERSO Universidade Salgado de Oliveira


Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

UNIVERSO
Universidade Salgado de Oliveira

Delphi 7
Com Banco de Dados
utilizando conexo ADO

Junho/2009
Atualizado em out/2010

Pgina 1 de 1
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

INDCE
1. Introduo........................................................................................................... 3
1.1. Trabalhando com Banco de Dados no Delphi .................................................... 3
1.2. Tecnologia ADO ................................................................................................ 3

2. Criando um programa exemplo ............................................................................ 4

3. Arquitetura de Acesso.......................................................................................... 6
3.1. Entendendo como acessamos os dados no Delphi ............................................ 6

4. Componentes Data Access da tecnologia ADO .................................................. 8


4.1. TADOConnection............................................................................................... 8
4.2. TADOTable........................................................................................................ 9
4.3. TADOQuery..................................................................................................... 10
4.4. TADODataSet.................................................................................................. 11
4.5. TADOCommand .............................................................................................. 12
4.6. TADOStoredProc ............................................................................................. 12

5. Componentes Data Controls............................................................................... 13


5.1. DBNavigator ................................................................................................... 13
5.2. TDBGrid .......................................................................................................... 13
5.2.1. TColumn ......................................................................................................... 14
5.3. TDBEdit e Cia .................................................................................................. 14
5.4. TDBCheckBox ................................................................................................. 14
5.5. TDBRadioGroup .............................................................................................. 15
5.6. TDBLookupListBox, TDBLookupComboBox ..................................................... 15

Pgina 2 de 2
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

1. Introduo

1.1. Trabalhando com Banco de Dados no Delphi

O Delphi pode trabalhar com diversas tecnologias de acesso e manipulao de


informaes em diversos tipos de banco de dados. As formas de acesso mais utilizadas so:
BDE (driver nativo ou ODBC)
ADO
dbExpress
InterBase (componentes IB)
Alm destes, exitem outros pacotes de componentes para acesso a banco de dados que
so desenvolvidos por outras empresas e podem ser incorporados ao Delphi. Voc dever
escolher o tipo de forma de acesso, de acordo com o projeto a ser desenvolvido e o banco de
dados que ser utilizado.

1.2. Tecnologia ADO

A partir da verso 5 do Delphi, o produto incorporou uma biblioteca de 7 componentes


para acesso camada ADO (ActiveX Data Objects). A camada ADO um novo padro
Microsoft para acesso a banco de dados. Antes do ADO, isto era feito com a camada
ODBC, mas a Microsoft percebeu que este camada no serviria para aplicaes Internet.
Surgiu, ento, a OLE DB que alm de possuir drivers nativos para acessar banco de dados
altamente integrada Internet. A camada ADO so classes de alto nvel para acesso ao OLE
DB.
O Delphi, at sua verso 4, s acessava banco de dados atravs da BDE. Mesmo
quando era necessrio utilizar o ODBC, a camada BDE servia como intermediria de
comunicao. Sendo assim, o Delphi permite o acesso via ADO de forma muita parecida com o
acesso via BDE. Veja a ilustrao abaixo, que representa a conexo via BDE ou ADO:

Delphi c/ BDE Delphi c/ ADO

BDE ADO

ODBC OLE DB ODBC

Banco de Dados Banco de Dados Banco de Dados Banco de Dados


BDE compatvel BDE compatvel BDE compatvel BDE compatvel

Pgina 3 de 3
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

2. Criando um programa exemplo

Este exemplo demonstra o uso mais simples dos objetos ADO. Aqui, um objeto DBGrid
ser preenchido com o contedo de uma tabela, fornecido atravs de um objeto TADOTable:

1) Crie uma nova aplicao, e no formulrio 1, insira um objeto TADOConnection;

O objeto ADO Connection equivalente ao objeto TDatabase, e como este, representa a


conexo com o banco de dados. As transaes e os parmetros de conexo sero realizados
atravs deste objeto.

2) Em seguida, devemos configurar o


objeto ADOConnection1. D um clique
duplo sobre o objeto, para que a janela
Connection String seja exibida:

Esta janela ir indicar os


parmetros de conexo com o banco de
dados. As opes representam:

Use Data Link File: Arquivo .UDL, que contm os


parmetros de conexo pr
formatados.
Use Connection String: Permite criar um novo arquivo .UDL,
com todos os parmetros de conexo.

Neste caso, selecione Use Connection String e clique no boto Build. A janela Data Link
Properties ser exibida:

Cada Item exibido nesta janela representa um mecanismo de conexo aos dados.
Lembrando, o ADO no acesso o banco de dados sozinho, ele se conecta a um motor de
acesso para realizar a conexo. Este motor pode ser uma conexo ODBC, uma conexo OLEDB
nativa, uma conexo JET Engine, ou algum outro tipo de motor instalado. No nosso caso,
usaremos o motor Jet Engine, para acessar o banco de dados Access.

Pgina 4 de 4
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

Selecione o portanto, o item Jet Egine 4.0 OLE


DB Provider e clique em Next.

A aba connection ser exibida:

Nota: Esta aba ir possuir uma interface diferente para


cada banco de dados.

Na opo n 1, selecione o arquivo .MDB do


banco de dados que ser acessado por nossa aplicao.
Abra o arquivo DBDEMOS.MDB.

Aps clique em OK, para voltar ao IDE do Delphi.

Altere a propriedade Connected para TRUE, a fim


de conectar com o banco de dados.

2) Insira um objeto TADOTable no formulrio.

Este objeto representa a conexo com a tabela e equivalente ao objeto TTable.


Primeiramente, devemos conectar este objeto ao TADOConnection. Faa isto alterando a
propriedade Connection, indicando o objeto ADOConnection1. Em seguida, indique o nome da
tabela na propriedade TableName. Selecione Customer.

3) Insira um objeto TDatasource no formulrio, e linke-o com o objeto ADOTable1.

4) Insira um objeto TDbGrid, e conecte-o com o objeto DataSource1.

Ok! Basta alterar a propriedade Active do objeto AdoTable1 para TRUE, e seu formulrio
ser parecido com a figura abaixo:

Pgina 5 de 5
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

3. Arquitetura de Acesso

O acesso e a manipulao de um banco de dados por um programa desenvolvido em


Delphi realizado como ilustrado abaixo, note que a aplicao no acessa os dados
diretamente, mas usa sempre o ADO.

3.1. Entendendo como acessamos os dados no Delphi

Para acessar e manipular as tabelas e objetos de um bancos de dados devemos utilizar


os componentes de acesso a bancos de dados (Data Access Components), que esto
armazenados nas guias da Paleta de Componentes, de acordo com o tipo de mecanismo
utilizado: BDE, ADO, dbExpress , ou IBX (guia Interbase).
No nosso caso, vamos utilizar o ADO, mas estes conceitos so vlidos tambm para os
outros mecanismos de acesso. Os componentes destas guias so responsveis apenas
pelo acesso (leitura/gravao e movimentao).

Para que os mesmos possam ser modificados e visualizados pelo usurio, devemos
utilizar os componentes da guia Data Controls. Nesta guia encontramos componentes
semelhantes aos da guia Standard, porm criados especificamente para dar acesso aos dados
(DBGrid, DBEdit, DBMemo, DBImage, etc.).

Voc pode estar se perguntando, qual a vantagem de se dividir tanto os mtodos


de acesso e manuteno e usar toda essa quantidade de componentes. E a resposta

Pgina 6 de 6
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

simples, flexibilidade. Cada uma das guias de acesso possui mais de um tipo de componente
para acesso a dados, alguns que exploram melhor a capacidade de acesso a tabelas
desktop (como o caso do componente ADOTable do ADO) e outros voltados
especificamente para o acesso cliente-servidor (como o componente ADOQuery da
mesma guia). Separando-se os controles de edio (Data Controls) dos componentes
de acesso a dados (BDE, dbGO, IBX ou dbExpress) temos um meio mais fcil de
substituir a metodologia de acesso sem contudo afetar a interface visual j construda
anteriormente.
Como os componentes de acesso so diferentes (embora possuam propriedades e
mtodos comuns) para que no fossem necessrios Data Controls especficos para cada um, a
Borland criou um outro componente, que responsvel por fazer a ligao entre os
componentes de exibio e os componentes de acesso. Estamos falando do componente
DataSource, que se encontra na guia Data Access. Este componente se liga aos componentes
de acesso a dados atravs da propriedade DataSet. E os Data Controls se conectam a ele
atravs de uma propriedade tambm chamada DataSource. Assim, se desejarmos trocar os
componentes de acesso, simplesmente os inserimos no Form (ou DataModule) e apontamos os
DataSources para os novos componentes de acesso, sem precisar modificar nada nos Data
Controls.

Pgina 7 de 7
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

4. Componentes Data Access da tecnologia ADO

Nas prximas pginas vamos apresentar uma descrio mais detalhada de todas as propriedade,
mtodos e eventos relevantes aos objeto da palheta ADO.

4.1. TADOConnection
Este componente utilizado para criar uma nova conexo com a camada ADO. bastante
semelhante ao componente TDatabase, sua utilizao tambm opcional.

As propriedades e eventos marcadas em azul, geralmente, so as mais utilizadas no dia-a-dia do


desenvolvimento em Delphi com danco de dados utilizando ADO.

Principais Propriedades
CommandTimeout Esta propriedade permite especificar um determinado tempo de limite para obter
uma resposta de um comando executado.
Connected Especifica se existe ou no uma conexo.
ConnectString Define a String de conexo entre a camada intercessora do banco de dados com
o ADO. Utilizamos esta propriedade para definir qual ser o banco de dados e a
camada para o ADO(Jet, ODBC, OLE DB).
ConnectionTimeout Esta propriedade permite especificar um determinado tempo de limite para ser
feita a conexo com o banco de dados.
ConnectOption Esta propriedade define o tipo de conexo.
CoConnectUnspecified Este e o modo padrao do ADO.
CoAsyncConnect Este modo e utilizado Quando o servidor for muito
lento.
CursorLocation Define onde estar o cursor para suas tabelas.
DefaultDatabase Define um banco de dados padro para a conexo quando uma conexo via
ConnectionString no for bem sucedida.
IsolationLevel Define o nvel de isolamento entre do banco de dados. Esta propriedade
semelhante propriedade TransIsolation do objeto Database.
Mode Define um modo de conexo: Somente leitura, leitura e gravao e etc.
Provider Especifica o mtodo de conexo que ser utilizado pela camada ADO: Jet,
OLEDB, ODBC, etc.

Principais Eventos
AfterConnect Ocorre aps efetuar uma conexo.
AfterDisconnect Ocorre aps desconectar.
BeforeConnect Ocorre antes de efetuar uma conexo.
BeforeDisconnect Ocorre andes de desconectar.
OnBeginTrasComplete Ocorre quando iniciada uma nova transao.
OnCommitComplete Ocorre quando o comando Commit foi executado.
OnConnectCompleted Ocorre quando feita uma conexo.
OnDisconnect Ocorre quando terminada uma conexo.
OnExecuteComplete Ocorre quando uma conexo com o ADO executou um comando.
OnInfoMessage Ocorre quando uma conexo bem sucedida e informaes adicionais so
enviadas pelo Provider.
OnLogin Ocorre quando aberta a janela LoginPrompt.
OnRollbackTransComplete Ocorre quando executado um RollBack.
OnWillConnect Ocorre quando uma conexo est prestes a ser efetuada.
OnWillExecute Ocorre quando uma execuo est prestes a ser efetuada.

Principais mtodos
Open Permite ativar uma conexo
Close Termina uma conexo

Pgina 8 de 8
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

4.2. TADOTable
Objeto ADOTable de uma conexo ADO equivalente ao objeto TTable da camada BDE.

Principais Propriedades
Active Determina se o DataSet esta ativo (aberto). Colocar essa propriedade com valor
True o mesmo que executar o mtodo Open do DataSet, assim como colocar
o valor False o mesmo que executar o mtodo Close.
CacheSize Indica quantos registros sero pedidos para o servidor por vez, e armazenados na
memoria local. Novos pedidos so automaticamente controlados pelo objeto.
Connection Objeto TADOConnection, que representa a instancia do banco de dados atual.
ConnectionString Pode ser usado no lugar de um objeto TADOConnection. Permite configurar uma
string de conexo com o servidor.
CursorLocation Indica se o objeto ira trabalhar em modo ChachedUpdates. Caso esta propriedade
esteja configurada para clUseClient, os dados serao armazenados no cliente, e
todas as operacoes realizadas (como insert, update e delete) permanecerao no
mesmo. Caso a propriedade seja clUseServer, as alteracoes serao
automaticamente enviadas para o servidor.
CursorType Indica o tipo de cursor utilizado pelo cliente. Os possiveis valores so:
ctUnspecified Um tipo de cursor no pre-definido pelo objeto.
ctOpenForwardOnly Cursor uni-direcional. Com este valor, o usuario podera
apenas navegar para frente, nunca retornar os registros.
ctKeyset Cursor bi-direcional, no concorrente. Aqui, o usuario pode
navegar para frente e para tras no result set. As alteracoes feitas por transacoes
concorrentes no estarao acessiveis, e os registros deletados, apesar de visiveis,
no estarao disponiveis.
ctDynamic Bi-direcional e concorrente. Este tipo de cursor e o que
apresenta a pior performance e o que gasta mais recursos do sistema. Aqui, o
usuario visualiza as alteracoes, insercoes e delecoes de outras transacoes.
ctStatic Uma simples copia dos registros. Qualquer tipo de alteracao
concorrente no sera visualizada neste cursor.

LockType Especifica como o lock de registros sera executado. Os possiveis valores so:
ItUnspecified Um tipo de lock que no foi pre-definido pelo objeto;
itReadOnly Somente leitura;
itPessimistic Impede que outras sessoes alterem o registro que estiver
locado pelo usuario;
itOptimistic Todos podem alterar o mesmo registro;
itBatchOptimistic Impede que outras sessoes alterem quando estiver em
modo update Batch.
MarshalOptions til apenas quando a tabela est em Client-Side. Indica quais registros sero
devolvidos para o servidor ou para a camada middleware. Se o valor for
moMarshalAll, todos os registros sero enviados para o servidor. Caso o valor
seja moMarshalModifiedOnly, apenas os registros modificados sero devolvidos.
MaxRecords Indica a quantidade mxima de registros exibidos pelo objeto. 0 (zero) indica
todos os registros.
TableDirect Quando False, os dados sero sempre requisitados via intrues SQL Select.
Neste caso, a instruo criada automaticamente pelo objeto. O valor Default e
False.
TableName Nome da tabela dentro do banco de dados.

Principais Eventos
OnEndOfRecordset Ocorre quando o ponteiro avana aps o ltimo registro carregado pelo
RecordSet. importante notar que esta ao no representa o final da
tabela, e sim, o final do buffer.
O parmetro MoreData, quando True, ir indicar a requisio dos
prximos registros que no foram carregados para o buffer.

Pgina 9 de 9
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

O parmetro EventStatus indica se a operacao que gerou o evento foi ou


no bem sucedida.
OnFetchComplete Ocorre quando uma requisio de dados para o buffer terminada.
OnFetchProgress Ocorre durante a leitura dos dados para o buffer. O parmetro Progress
indica a quantidade de registros lidos, MaxProgress a quantidade a ser
lida e EventStatus se a operao foi bem sucedida.
OnfieldChangeComplete Ocorre aps a gravao de um valor para algum campo da tabela.
OnMoveComplete Ocorre aps o ponteiro de registro realizar alguma movimentao.
OnRecordChangeComplete Ocorre aps um ou vrios registros serem atualizados.
OnWillChangefield Ocorre antes da edio do valor de um campo.
OnWillChangeRecord Ocorre antes da edio/insero de um registro.
OnWillChangeRecordset Ocorre antes da alterao de algum valor da tabela.
OnWillMove Ocorre antes da movimentao do ponteiro para algum lugar.

Principais Mtodos
function Seek(const KeyValues: Variant; SeekOption: TSeekOption = soFirstEQ): Boolean;

Faz a pesquisa utilizando o ndice atual. O primeiro parmetro um array OLE (VarArrayOf) de valores de
pesquisa. O segundo indica como a pesquisa ser realizada. Os possveis valores para SeekOption so:

soFirstEQ Caso exista, o ponteiro e posicionado na primeira ocorrencia.


soLastEQ Caso exista, o ponteiro e posicionado na ultima ocorrencia
soAfterEQ Record pointer positioned at matching record, if found, or just after where that matching
record would have been found.
soAfter O ponteiro posicionado no registro encontrado +1.
soBeforeEQ Record pointer positioned at matching record, if found, or just before where that matching
record would have been found.
soBefore O ponteiro e posicionado no registro encontrado 1

4.3. TADOQuery
Representa o objeto TQuery da palheta DataAccess. O mais indicado para conexes com um
banco de dados Cliente-Servidor.

Principais Propriedades
Active Determina se o DataSet esta ativo (aberto). Colocar essa propriedade com valor
True o mesmo que executar o mtodo Open do DataSet, assim como colocar o
valor False o mesmo que executar o mtodo Close.
Connection Objeto TADOConnection que representa a instncia do banco de dados atual.
CursorLocation Indica se o objeto ira trabalhar em modo ChachedUpdates. Caso esta propriedade
esteja configurada para clUseClient, os dados serao armazenados no cliente, e todas
as operacoes realizadas (como insert, update e delete) permanecerao no mesmo.
Caso a propriedade seja clUseServer, as alteracoes serao automaticamente enviadas
para o servidor.
CursorType Indica o tipo de cursor utilizado pelo cliente. Os possiveis valores so:

ctUnspecified Um tipo de cursor no pre-definido pelo objeto.


ctOpenForwardOnly Cursor uni-direcional. Com este valor, o usuario podera
apenas navegar para frente, nunca retornar os registros.
ctKeyset Cursor bi-direcional, no concorrente. Aqui, o usuario pode
navegar para frente e para tras no result set. As alteracoes feitas por transacoes
concorrentes no estarao acessiveis, e os registros deletados, apesar de visiveis, no
estarao disponiveis.
ctDynamic Bi-direcional e concorrente. Este tipo de cursor e o que
apresenta a pior performance e o que gasta mais recursos do sistema. Aqui, o
usuario visualiza as alteracoes, insercoes e delecoes de outras transacoes.
ctStatic Uma simples copia dos registros. Qualquer tipo de alteracao

Pgina 10 de 10
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

concorrente no sera visualizada neste cursor.

LockType Especifica como o lock de registros sera executado. Os possiveis valores so:

ItUnspecified Um tipo de lock que no foi pre-definido pelo objeto;


itReadOnly Somente leitura;
itPessimistic Impede que outras sessoes alterem o registro que estiver
locado pelo usuario;
itOptimistic Todos podem alterar o mesmo registro;
itBatchOptimistic Impede que outras sessoes alterem quando estiver em modo
update Batch.
MarshalOptions til apenas quando a tabela est em Client-Side. Indica quais registros sero
devolvidos para o servidor ou para a camada middleware. Se o valor for
moMarshalAll, todos os registros sero enviados para o servidor. Caso o valor seja
moMarshalModifiedOnly, apenas os registros modificados sero devolvidos.
MaxRecords Indica a quantidade mxima de registros exibidos pelo objeto. 0 (zero) indica todos
os registros.
ParamCheck Se True, o objeto ir considerar as expressoes :variavel como um nome de
parmetro.
Parameters Propriedade da classe TParameters, que serve para a passagem de valores para os
parametros da SQL. A sintaxe diferente da propriedade Params do objeto TQuery.
Ex:

ADOQuery1.Parameters.Params.ParamByname(codigo_cliente).Value:=1;
SQL Instruo SQL que ser executada pelo objeto.

Principais Eventos:
OnEndOfRecordset Ocorre quando o ponteiro avana aps o ltimo registro carregado pelo
RecordSet. importante notar que esta ao no representa o final da
tabela, e sim, o final do buffer.
O parmetro MoreData, quando True, ir indicar a requisio dos
prximos registros que no foram carregados para o buffer.
O parmetro EventStatus indica se a operacao que gerou o evento foi ou
no bem sucedida.
OnFetchComplete Ocorre quando uma requisio de dados para o buffer terminada.
OnFetchProgress Ocorre durante a leitura dos dados para o buffer. O parmetro Progress
indica a quantidade de registros lidos, MaxProgress a quantidade a ser
lida e EventStatus se a operao foi bem sucedida.
OnfieldChangeComplete Ocorre aps a gravao de um valor para algum campo da tabela.
OnMoveComplete Ocorre aps o ponteiro de registro realizar alguma movimentao.
OnRecordChangeComplete Ocorre aps um ou vrios registros serem atualizados.
OnWillChangefield Ocorre antes da edio do valor de um campo.
OnWillChangeRecord Ocorre antes da edio/insero de um registro.
OnWillChangeRecordset Ocorre antes da alterao de algum valor da tabela.
OnWillMove Ocorre antes da movimentao do ponteiro para algum lugar.

Principais Metodos:
Open Abre a query
Close Fecha a Query
ExecSQL Executa uma intruo SQL

4.4. TADODataSet
Este objeto a classe pai dos objetos TADOTable, TADOQuery e TADOStoredProc. Suas
propriedades, mtodos e eventos so os mesmo destes objetos.

Pgina 11 de 11
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

4.5. TADOCommand
No possui equivalente na palheta DataAccess. Este componente representa o objeto ADO
Command, da biblioteca ADO. Serve apenas para enviar instrues SQL para o servidor, e no permite a
ligao com objetos DataControl. Possui uma performance otimizada para instrues que no necessitem
retornar dados para a aplicao. Operaes como backup, deleo de tabelas e update batchs so mais
rpidos quando executados atravs deste componente. Aplicaes SQL tambm podem ter um
desempenho melhorado com este componente.

Principais Propriedades
CommandText Instruo SQL que ser executada pelo servidor.
CommandTimeOut Tempo que o objeto ir esperar pela resposta do servidor.
CommandType Indica o tipo de instruo contida na propriedade CommandText.
Connection Objeto TADOConnection, que representa a instncia do banco de dados atual.
ParamCheck Se True, o objeto ir considerar as expressoes :variavel como um nome de
parmetro.
Parameters Propriedade da classe TParameters, que serve para a passagem de valores para
os parmetros da SQL. A sintaxe diferente da propriedade Params do objeto
TQuery. Ex:

ADOCommand1.Parameters.Params.ParamByname(codigo_cliente).Value:=1;

Este objeto no possui eventos. Para tratar os possveis resultados que este objeto pode gerar,
utilize os eventos do objeto TADOConnection.

Principais Mtodos:
Execute Envia a intrucao SQL para o servidor

4.6. TADOStoredProc
Equivalente ao objeto TStoredProc, da palheta DataAccess. Permite acionar uma procedure
armazenada no servidor de banco de dados.

Principais Propriedades:
Connection Objeto TADOConnection que representa a instncia atual do banco de
dados.
Parameters Define os parmetros que sero passados ou recebidos da Stored
Procedure.
ProcedureName Nome da StoredProcedure.

Pgina 12 de 12
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

5. Componentes Data Controls

Os componentes do tipo Data Controls so os controles usados na interface com o


usurio. Todos os componentes do tipo Data Controls possuem uma propriedade chamada
DataSource, que deve apontar para o componente DataSource do ADOTable ou ADOQuery
ao qual esto ligados.

5.1. DBNavigator

O DBNavigator permite que o usurio realize operaes padro de controle de dados.


Cada um dos botes do DBNavigator chama um mtodo do Componente Table ao qual est
ligado.

Podemos personalizar o DBNavigator usando as suas propriedades e eventos.


Propriedades Descrio
VisibleButtons Define os botes que sero visveis
Hints Hints exibidos pelos botes
ConfirmDelete Define se ser solicitado uma confirmao antes da excluso

Eventos Descrio
BeforeAction Quando um boto do Navigator pressionado, antes da ao ser
executada
OnClick Quando um boto do Navigator pressionado, depois da ao ser
executada

5.2. TDBGrid

Mostra os registros de uma tabela em forma de grade, cada coluna um campo e cada
registro, uma linha.
Propriedades Descrio
Columns Lista do tipo TDBGridColumns, com as colunas da Grid, cada item da lista
do tipo TColumn
Fields Lista de objetos TField mostrados nas colunas
Options Set com as opes da Grid, como ConfirmDelete, MultiSelect,
ColumnResize
SelectedField Campo da coluna selecionada
SelectedIndex ndice da coluna selecionada

Pgina 13 de 13
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

Propriedades Descrio
SelectedRows Lista do tipo TBookmarkList, com os registros selecionados em uma Grid
com MultiSelect
TitleFont Fonte do ttulo das colunas
FixedColor Cor Fixa, usada nas colunas e indicadores

Eventos Descrio
OnCellClick Ao clicar em uma clula da Grid
OnColEnter Quando uma clula de alguma coluna da Grid recebe o foco
OnColExit Quando uma clula de alguma coluna da Grid perde o foco
OnColumnMoved Quando o usurio mover uma coluna
OnDrawDataCell Evento usado para personalizar a forma de desenhar os dados que so
apresentados na Grid
OnEditButtonClick Ao clicar no boto de edio de uma clula, mostrado pela propriedade
ButtonStyle da coluna
OnTitleClick Ao clicar no ttulo das colunas

5.2.1. TColumn

Item de uma lista TDBGridColumns, usada na propriedade Columns da Grid, objetos


desse tipo representam uma coluna da Grid. s vezes as propriedades definidas para o campo
sobrepem as propriedades
Propriedades Descrio
ButtonStyle Boto mostrado ao editar as clulas da coluna
Field Objeto TField ligado coluna
FieldName Nome do campo ligado coluna
PickList TStrings com os itens da lista DropDown usada nas clulas da coluna
Title Propriedade do tipo TColumnTitle com as opes do ttulo da coluna

5.3. TDBEdit e Cia

Agora vamos ver os componentes TDBEdit, TDBText, TDBMemo, TDBListBox,


TDBComboBox, TDBImage, TDBRichEdit, que so controles genricos ligados a um campo
de uma tabela.
Todos esses componentes possuem uma propriedade chamada DataField que liga um
campo de um ADOTable ou ADOQuery ao componente que vai exibir (e editar) o valor de um
campo.
Propriedades Descrio
DataField Campo ao qual o controle est ligado

5.4. TDBCheckBox

Usado em campos que podem receber apenas dois valores, como campos lgicos.
Propriedades Descrio
ValueChecked Valor a ser armazenado quando est selecionado
ValueUnchecked Valor a ser armazenado quando no est selecionado

Pgina 14 de 14
Delphi 7 Banco de Dados com ADO
UNIVERSO Universidade Salgado de Oliveira
Prof.Guilherme Arantes - cgarantes@yahoo.com.br - www.Guilherme.inf.br

5.5. TDBRadioGroup

Mostra algumas opes para o preenchimento de um campo.


Propriedades Descrio
Values Valor a ser armazenado para cada boto de rdio

5.6. TDBLookupListBox, TDBLookupComboBox

Preenche um campo com dados contidos em outra tabela. Se o campo mostrado nesses
componentes for um campo Lookup, voc no precisa especificar nenhuma das propriedades
abaixo, apenas DataSource e DataField.
Propriedades Descrio
ListSource DataSource que contm os valores a serem exibidos na lista
ListField Campo de ListSource que ser exibido
KeyField Campo de ListSource usado no relacionamento

Pgina 15 de 15

You might also like