1-Mecanismos de Acesso

Share Embed Donate


Short Description

Download 1-Mecanismos de Acesso...

Description

MECANISMOS DE ACESSO PRINCIPAIS PROPRIEDADES DA CLASSE TDATASET Apresenta-se a seguir uma descrição das principais propriedades da classe TDataSet. Desta maneira, podemos descrever estas propriedades de uma única vez, ao invés de falar sobre elas cada vez que abordarmos uma das classes derivadas da classe c lasse TDataSet. Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ACTIVE Essa propriedade é definida como uma variável booleana, e define se a tabela (ou conjunto de tabelas) associada ao componente está ou não ativa. at iva. Conforme será visto posteriormente, atribuir o valor true a essa propriedade equivale a executar o método Open do componente. Da mesma forma, atribuir o valor false a essa propriedade equivale a executar o método Close do componente. AUTOCALCFIELDS Essa propriedade é definida como uma variável booleana, e define se o procedimento associado ao evento OnCalcFields do componente deve ser executado sempre que houver uma alteração nos dados armazenados na tabela representada pelo componente. Os campos calculados são aqueles cujo c ujo valor pode ser diretamente obtido em função dos valores armazenados em outros campos da tabela, razão ra zão pela qual não precisam preci sam ser armazenados permanentemente na tabela. A definição da fórmula utilizada util izada para o cálculo dos valores desses campos é feita no procedimento associado ao evento OnCalcFields do componente, conforme será exemplificado posteriormente. BOF Essa propriedade é definida como uma variável booleana, e define se o registro corrente é o primeiro registro da tabela representada pelo componente. É uma propriedade apenas de leitura, e tem o valor true em cada uma das seguintes situações: ♦ Quando se estabelece o acesso à tabela representada pelo componente, definido-se como True o valor da sua propriedade Active, ou após uma chamada ao seu método Open. ♦ Após uma chamada ao método First do componente. ♦ Após uma chamada ao método Prior do componente, quando o registro corrente já é o primeiro registro da tabela. EOF Essa propriedade é definida como uma variável booleana, e define se o registro corrente é o último registro da tabela representada pelo componente. É uma propriedade apenas de leitura, e tem o valor True em cada uma das seguintes situações: ♦ Quando se estabelece o acesso à tabela representada pelo componente, definido-se como True o valor da sua propriedade Active (ou após uma chamada ao seu método Open) e a tabela não possui nenhum registro armazenado. ♦ Após uma chamada ao método Last do componente. ♦ Após uma chamada ao método Next do componente, quando o registro corrente já é o último registro da tabela. Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

FIELDCOUNT Essa propriedade é definida como uma variável inteira, e define o número de campos da tabela representada pelo componente. É uma propriedade apenas de leitura, e não pode ter o seu valor diretamente alterado pelo usuário. É importante salientar que essa propriedade retorna o número de campos acessado pelo componente  – que não é necessariamente igual ao número de campos reais da tabela representada pelo componente.

Uma forma de se alterar o número de campos acessados pela tabela consiste em utilizar o Fields Editor, que permite que se definam os campos da tabela que serão realmente acessados pelo componente. FIELDS Essa propriedade é definida como uma array de objetos da classe TField, e permite o acesso a campos individuais do registro corrente da tabela representada pelo componente. Nesse caso, o primeiro campo é representado pelo índice 0, sendo o n-ézimo campo representado pelo índice n-1. É importante lembrar que esses campos são aqueles realmente acessados pelo componente, e não são necessariamente todos os campos da tabela por ele representada. Para acessar os valores armazenados em cada campo acessado pelo componente, deve-se utilizar uma das propriedades de conversão da classe TField, dentre as quais podem-se destacar: ♦ AsString, para tratar o valor armazenado no campo como uma string. ♦ AsInteger, para tratar o valor armazenado no campo como um número inteiro. ♦ AsFloat, para tratar o valor armazenado no campo como um número real. ♦ AsBoolean, para tratar o valor armazenado no campo como um valor booleano. ♦ AsCurrency, para tratar o valor armazenado no campo como um valor monetário. ♦ AsDateTime, para tratar o valor armazenado no campo como um valor no formato Data/Hora. ♦ AsVariant, para tratar o valor armazenado no campo como um valor do Variant (que pode armazenar qualquer tipo de dado). Dessa maneira, se quisermos exibir o valor armazenado no décimo campo acessado pelo componente, devemos empregar uma linha de código com a seguinte sintaxe: ShowMessage(Table1.Fields[9].AsString); Nesse caso, Table1 é o nome do componente que representa a tabela. FIELDVALUES Essa propriedade é definida como uma array de valores do tipo Variant, indexado pelos nomes dos campos da tabela representada pelo componente. É interessante destacar que essa é a propriedade default da classe TDataSet e das classes dela derivadas por herança. Conseqüentemente, se TblPais é o nome de um componente de uma classe derivada de TDataSet, as linhas de código a seguir são equivalentes. TblPais[‘Nome’] := Brasil; TblPais.FieldValues[‘Nome’] := Brasil;

FILTER Essa propriedade é definida como uma variável do tipo string, e permite que se estabeleça uma condição (filtro) a ser atendida pelos registros da tabela acessada por esse componente. Para que essa condição seja aplicada, deve-se, no entanto, definir como True o valor da propriedade Filtered do componente. FILTERED Essa propriedade é definida como uma variável booleana, e define se os registros provenientes da tabela representada pelo componente devem ou não atender a uma condição (filtro) especificada na sua propriedade Filter (definida anteriormente) ou por um código inserido no procedimento associado ao seu evento OnFilterRecord. FILTEROPTIONS Essa propriedade é definida como uma variável do tipo TFilterOptions que é, por sua vez, um conjunto de elementos do tipo TFilterOption, sendo esses elementos definidos da seguinte maneira: ♦ foCaseInsensitive: Não diferencia letras maiúsculas e minúsculas na aplicação do filtro. ♦ foNoPartialCompare: Não permite que se utilize um asterisco para definir comparações parciais na aplicação de um filtro. Esse elemento deve ser incluído quando se quer tratar o asterisco (*) como um caractere do filtro. Inicialmente, essa propriedade é definida como um conjunto v azio, isto é, por default nenhuma das condições anteriores é especificada. RecNo

Essa propriedade é definida como uma variável inteira, e define o número do registro corrente, dentre todos os registros provenientes da tabela representada pelo componente. É uma propriedade apenas de leitura, e não pode ter o seu valor diretamente alterado pelo usuário, podendo ter o seu valor alterado em função da aplicação de um filtro. RECORDCOUNT Essa propriedade é definida como uma variável inteira, e define o número de registros provenientes da tabela representada pelo componente. É uma propriedade apenas de leitura, e não pode ter o seu valor diretamente alterado pelo usuário, podendo, no entanto, ter o seu valor alterado em função da aplicação de um filtro. STATE Essa propriedade é uma variável do tipo TDataSetState que define os estados que podem ser assumidos por uma tabela representada pelo componente. Essa propriedade só está disponível durante a execução do aplicativo, e, por ser uma propriedade apenas de leitura, não pode ter o seu valor diretamente alterado pelo usuário. Essa propriedade pode assumir um dos valores descritos a seguir: ♦ dsInactive: A tabela está inativa, ou seja, sua propriedade Active é igual a false. ♦ dsBrowse: A tabela está sendo consultada. Os registros podem ser visualizados, mas não podem ser alterados. ♦ dsEdit: A tabela está sendo editada. ♦ dsFilter: O procedimento associado ao evento OnFilterRecord está sendo executado. ♦ dsInsert: A tabela está em modo de Inserção (um novo registro foi incluído na tabela). ♦ dsSetKey: A tabela está sendo reindexada (aplica-se apenas a objetos da classe TTable, derivada por herança da classe TDataSet). ♦ dsCalcFields: O procedimento associado ao evento OnCalcFields está sendo executado. ♦ dsNewValue: Estado temporário, utilizado para indicar que a propriedade NewValue de um objeto da classe TField está sendo acessada. ♦ dsOldValue: Estado temporário, utilizado para indicar que a propriedade OldValue de um objeto da classe TField está sendo acessada. ♦ dsCurValue: Estado temporário, utilizado para indicar que a propriedade CurValue de um objeto da classe TField está sendo acessada. PRINCIPAIS MÉTODOS DA CLASSE TDATASET Apresenta-se a seguir os principais métodos da classe TDataset, sendo a maioria desses métodos virtuais ou abstratos (implementados nas classes derivadas). APPEND Declaração procedure Append; Esse método adiciona um novo registro após o último registro existente na tabela representada pelo componente. APPENDRECORD Declaração procedure AppendRecord(const Values: array of const); Esse método adiciona e grava um novo registro após o último registro existente na tabela representada pelo componente, atribuindo aos campos do registro valores passados como parâmetros na chamada do método. CANCEL Declaração procedure Cancel; Esse método cancela as alterações realizadas no registro corrente da tabela representada pelo componente, desde a última chamada ao seu método Post. CLEARFIELDS Declaração

procedure ClearFields; Esse método apaga os valores armazenados nos campos do registro corrente da tabela representada pelo componente, desde que a tabela esteja em modo de edição ou inserção, gerando uma exceção em caso contrário. CLOSE Declaração procedure Close; Esse método desfaz a conexão à tabela representada pelo componente, atribuindo o valor False à propriedade Active do componente, como mostra o trecho de código a seguir, extraído da unit db.pas. procedure TDataSet.Close; begin Active := False; end; CREATE Declaração constructor Create(AOwner: TComponent); Esse é o método construtor da classe, e recebe como parâmetro um objeto da classe TComponent, que indica o seu componente proprietário. DELETE Declaração procedure Delete; Esse método remove o registro corrente da tabela representada pelo componente, definindo o próximo registro como registro atual. DESTROY Declaração destructor Destroy;

Esse é o método destrutor da classe, devendo ser utilizado apenas quando uma instância da classe é criada dinamicamente pelo código da aplicação (mediante uma chamada ao método Create do componente que representa a tabela). DISABLECONTROLS Declaração procedure DisableControls; Esse método desconecta temporariamente todos os componentes associados ao componente que representa a tabela. EDIT Declaração procedure Edit; Esse método coloca a tabela representada pelo componente em modo de edição, permitindo que se alterem os valores armazenados nos campos do registro corrente. ENABLECONTROLS Declaração procedure EnableControls; Esse método restabelece a conexão a todos os componentes associados ao componente que representa a tabela, cuja conexão tenha sido desabilitada por uma chamada ao método DisableControls. FIELDBYNAME Declaração function FieldByName(const FieldName: string): TField;

Esse método retorna um objeto da classe TField que representa o campo cujo nome é passado como parâmetro na chamada ao método. O valor retornado pelo método pode, evidentemente, ser tratado como um objeto da classe TField, e as propriedades de conversão descritas anteriormente podem ser utilizadas normalmente. A utilização desse método apresenta, em relação à propriedade Fields, a vantagem de se poder desconsiderar a ordem exata dos campos, bastando que se conheça o nome de cada um deles. FINDFIELD Declaração function FindField(const FieldName: string): TField; Esse método determina se o componente acessa um campo cujo nome é passado como parâmetro na forma de uma string, retornando um objeto da classe TField que representa o campo, caso o mesmo exista, e retornando nil em caso contrário. FIRST Declaração procedure First; Esse método define o primeiro registro da tabela representada pelo componente como registro corrente. Além disso, antes de alterar o registro corrente, grava qualquer alteração pendente, mediante uma chamada implícita ao método Post do componente. INSERT Declaração procedure Insert; Esse método insere um novo registro na posição definida pelo registro corrente. INSERTRECORD Declaração procedure InsertRecord(const Values: array of const); Esse método insere e grava um novo registro na posição definida pelo registro corrente da tabela representada pelo componente, atribuindo aos campos do registro valores passados como parâmetros na chamada do método. ISEMPTY Declaração function IsEmpty: Boolean; Esse método retorna True se a tabela representada pelo componente não tiver nenhum registro, retornando False em caso contrário. ISLINKEDTO Declaração function IsLinkedTo(DataSource: TDataSource): Boolean; Esse método retorna True se o componente que representa a tabela estiver ligado a um componente DataSource, cujo nome é passado como parâmetro na chamada ao método, retornando False em caso contrário. LAST Declaração procedure Last; Esse método define o último registro da tabela representada pelo componente como registro corrente. Além disso, antes de alterar o registro corrente, grava qualquer alteração pendente, mediante uma chamada implícita ao método Post do componente. LOCATE Declaração function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; Esse método permite a busca exata de um registro, por campos que não façam parte do índice corrente

da tabela representada pelo componente, e recebe como parâmetros: ♦ Uma string contendo os nomes dos campos pelos quais será feita a pesquisa (separados por ponto-e-vírgula). ♦ Uma string contendo os valores a serem pesquisados nos campos pelos quais será feita a pesquisa (separados por ponto-e-vírgula). ♦ Um conjunto de opções, que pode conter os seguintes elementos: LoCaseInsensitive  – se esse elemento for incluído, letras maiúsculas e minúsculas serão t ratadas indiferentemente; LoPartialKey – indica que a pesquisa será aproximada. MOVEBY Declaração function MoveBy(Distance: Integer): Integer; Esse método redefine o registro atual, deslocando o “ponteiro ou cursor” que representa o registro

atual da tabela representada pelo componente por um número de registros que é passado como único parâmetro na chamada do método. NEXT Declaração procedure Next; Esse método define o próximo registro da tabela representada pelo componente como registro corrente. Além disso, antes de alterar o registro corrente, grava qualquer alteração pendente, mediante uma chamada implícita ao método Post do componente. Na realidade, esse método faz uma chamada ao método MoveBy da classe, passando o valor 1 como parâmetro, como mostra o trecho de código reproduzido a seguir e extraído da unit db.pas. procedure TDataSet.Next; begin MoveBy(1); end; OPEN Declaração procedure Open; Esse método estabelece a conexão à tabela representada pelo componente, atribuindo o valor True à sua propriedade Active, como mostra o trecho de código a seguir, extraído da unit db.pas. procedure TDataSet.Open; begin Active := True; end; POST Declaração procedure Post; Esse método grava as alterações feitas no registro atual da tabela representada pelo componente. As alterações feitas anteriormente a uma chamada ao método Post não podem ser canceladas mediante uma chamada ao método Cancel (para que isso seja possível, deve-se empregar o conceito de transações, a ser descrito posteriormente). PRIOR Declaração procedure Prior; Esse método define o registro anterior da tabela representada pelo componente como registro corrente. Além disso, antes de alterar o registro corrente, grava qualquer alteração pendente, mediante uma chamada implícita ao método Post do componente. Na realidade, esse método faz uma chamada ao método MoveBy da classe, passando o valor -1 como parâmetro, como mostra o trecho de código a seguir, extraído da unit db.pas. procedure TDataSet.Prior; begin

MoveBy(-1); end; REFRESH Declaração procedure Refresh; Esse método atualiza a exibição dos dados armazenados em uma tabela nos componentes de visualização conectados ao componente que representa a tabela. Uma situação em que deve ser feita uma chamada ao método refresh do componente corresponde àquela em que a aplicação de um filtro é cancelada (modificando-se o valor da sua propriedade Filtered para False). SETFIELDS Declaração procedure SetFields(const Values: array of const); Esse método permite que se atribuam simultaneamente valores a vários campos do registro corrente da tabela representada pelo componente. Os valores devem ser fornecidos na o rdem em que os campos são armazenados na tabela. Para executar esse método a tabela deve estar em modo de edição, o que pode ser garantido por uma chamada ao método Edit do componente que a representa.

PRINCIPAIS EVENTOS DA CLASSE TDATASET Apresenta-se a seguir uma descrição dos principais eventos da classe TDataSet. AFTERCANCEL O procedimento associado a esse evento é executado imediatamente após se cancelarem as alterações feitas no registro corrente, normalmente após uma chamada ao método Cancel do componente que representa a tabela. Na realidade, o método Cancel faz uma chamada a um método protegido da classe TDataSet, denominado DoAfterCancel, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. AFTERCLOSE O procedimento associado a esse evento é executado imediatamente após se interromper a conexão estabelecida entre a tabela e o componente que a representa, normalmente após uma chamada ao seu método Close, ou atribuindo-se o valor False à sua propriedade Active. Na realidade, o método Close, ao atribuir o valor False à propriedade Active, provoca uma chamada a um método protegido da classe TDataSet, denominado DoAfterClose, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. O mesmo é feito pelo método interno SetActive, responsável pela atribuição de um valor ao campo que armazena internamente o valor da propriedade Active. AFTERDELETE O procedimento associado a esse evento é executado imediatamente após se remover o registro corrente, normalmente após uma chamada ao método Delete do componente que representa a tabela. Na realidade, o método Delete faz uma chamada a um método protegido da classe TDataSet, denominado DoAfterDelete, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. AFTEREDIT O procedimento associado a esse evento é executado imediatamente após se colocar a tabela representada pelo componente em modo de edição. Na realidade, o método Edit faz uma chamada a um método protegido da classe TDataSet, denominado DoAfterEdit, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. AFTERINSERTT

O procedimento associado a esse evento é executado imediatamente após a inserção de um novo registro na tabela representada pelo componente. Na realidade, os métodos Insert e Append fazem uma chamada a um método protegido da classe TDataSet, denominado DoAfterInsertt, que verifica se existe um procedimento associado a esse evento e, em caso positivo, o executa. AFTEROPEN O procedimento associado a esse evento é executado imediatamente após se estabelecer a conexão entre a tabela e o componente que a representa, normalmente após uma chamada ao seu método Open, ou atribuindo-se o valor True à sua propriedade Active. Na realidade, o método Open, ao atribuir o valor True à propriedade Active, faz uma chamada a um método protegido da classe TDataSet, denominado DoAfterOpen, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. O mesmo é feito pelo método interno SetActive, responsável pela atribuição de um valor ao campo que armazena internamente o valor da propriedade Active. AFTERPOST O procedimento associado a esse evento é executado imediatamente após a gravação das alterações feitas no registro corrente da tabela representada pelo componente, normalmente após uma chamada ao seu método Post. Na realidade, o método Post faz uma chamada a um método protegido da classe TDataSet, denominado DoAfterPost, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. AFTERSCROLL O procedimento associado a esse evento é executado imediatamente após uma movimentação para um outro registro da tabela (que passa a ser o registro corrente), normalmente após uma chamada aos seus métodos First, Prior, Next e Last, dentre outros. Na realidade, esses métodos fazem uma chamada a um método protegido da classe TDataSet, denominado DoAfterScroll, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. BEFORECANCEL O procedimento associado a esse evento é executado imediatamente antes de se cancelarem as alterações feitas no registro corrente, normalmente após uma chamada ao método Cancel do componente que representa a tabela. Na realidade, o método Cancel faz uma chamada a um método protegido da classe TDataSet, denominado DoBeforeCancel, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. BEFORECLOSE O procedimento associado a esse evento é executado imediatamente antes de se interromper a conexão estabelecida entre a tabela e o componente que a representa, normalmente após uma chamada ao seu método Close, ou atribuindo-se o valor False à sua propriedade Active. Na realidade, o método Close faz uma chamada a um método protegido da classe TDataSet, denominado DoBeforeClose, que verifica se existe um procedimento associado ao evento e, em c aso positivo, o executa. O mesmo é feito pelo método interno SetActive, responsável pela atribuição de um valor ao campo que armazena internamente o valor da propriedade Active. BEFOREDELETE O procedimento associado a esse evento é executado imediatamente antes de se remover o registro corrente, normalmente após uma chamada ao método Delete do componente que representa a tabela. Na realidade, o método Delete faz uma chamada a um método protegido da classe TDataSet, denominado DoBeforeDelete, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. BEFOREEDIT O procedimento associado a esse evento é executado imediatamente antes de se colocar a tabela representada pelo componente em modo de edição. Na realidade, o método Edit faz uma chamada a um método protegido da classe TDataSet, denominado

DoBeforeEdit, que verifica se existe um procedimento associado ao evento e, em c aso positivo, o executa. BEFOREINSERT O procedimento associado a esse evento é executado imediatamente antes da inserção de um novo registro na tabela representada pelo componente. Na realidade, os métodos Insert e Append fazem uma chamada a um método protegido da classe TDataSet, denominado DoBeforeInsertt, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. BEFOREOPEN O procedimento associado a esse evento é executado imediatamente antes de se estabelecer a conexão entre a tabela e o componente que a representa, normalmente após uma chamada ao seu método Open, ou atribuindo-se o valor True à sua propriedade Active. Na realidade, o método Open faz uma chamada a um método protegido da classe TDataSet, denominado DoBeforeOpen, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. O mesmo é feito pelo método interno SetActive, responsável pela atribuição de um valor ao campo que armazena internamente o valor da propriedade Active. BEFOREPOST O procedimento associado a esse evento é executado imediatamente antes da gravação das alterações feitas no registro corrente da tabela representada pelo componente, normalmente após uma chamada ao seu método Post. Na realidade, o método Post faz uma chamada a um método protegido da classe TDataSet, denominado DoBeforePost, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. BEFORESCROLL O procedimento associado a esse evento é executado imediatamente antes de uma movimentação para um outro registro da tabela (que passa a ser o registro corrente), normalmente após uma chamada aos seus métodos First, Prior, Next e Last, dentre outros. Na realidade, esses métodos fazem uma chamada a um método protegido da classe TDataSet, denominado DoBeforeScroll, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. ONCALCFIELDS O procedimento associado a esse evento é executado sempre que os valores dos campos calculados da tabela representada pelo componente precisam ser calculados. ONDELETEERROR O procedimento associado a esse evento é executado sempre que a tentativa de se remover um registro da tabela, em uma chamada ao seu método Delete, falha. ONFILTERRECORD O procedimento associado a esse evento é executado sempre que se aplica um filtro aos registros da tabela, devendo nesse procedimento ser estabelecida a condição a ser atendida pelos registros. A aplicação de um filtro a uma tabela pode ser feita atribuindo-se o valor True à sua propriedade Filtered. ONNEWRECORD O procedimento associado a esse evento é executado sempre que se adiciona um novo registro à tabela representada pelo componente, mediante uma chamada ao método Append ou Insert, po dendo ser utilizado para se definir valores default para os campos do registro recém-criado. ONPOSTERROR O procedimento associado a esse evento é executado sempre que a tentativa de se gravar um registro da tabela, em uma chamada ao seu método Post, falha. Conforme será visto nos próximos capítulos, as classes de acesso a dados via BDE, DbExpress e Interbase Express não são derivadas diretamente da classe TDataSet, mas de outras classes dela derivadas, e que são: ♦ TBDEDataSet e TDBDataset, para acesso via BDE.

TIBCustomDataset, para acesso via Interbase Express. ♦ TCustomSQLDataSet, para acesso via DbExpress. A classes TClientDataset e TSQLClientDataset são derivadas diretamente da classe TCustomClientDataset. ♦

A CLASSE TCUSTOMCONNECTION A classe TCustomConnection é a classe-base das classes usadas para fazer uma conexão a uma fonte de dados remota (banco de dados) de praticamente todas as tecnologias de acesso a banco de dados, excluindo o BDP – Borland Data Provider: o BDE (componente TDatabase), InterbaseExpress (TIBDatabase) e DbExpress (TSQLConnection). Portanto, essa classe possui claro destaque, justificando o estudo a seguir.

PRINCIPAIS PROPRIEDADES DA CLASSE TCUSTOMCONNECTION Apresenta-se a seguir uma descrição das principais propriedades da classe TCustomConnection, além daquelas herdadas das suas classes ancestrais. CONNECTED Essa propriedade é definida como uma variável booleana e define se a conexão foi estabelecida. DATASETCOUNT Essa propriedade é definida como uma variável inteira e define o número de componentes derivados da clase TDataset linkados a este componente de conexão. DATASETS Essa propriedade é uma array de objetos de classes derivadas da classe TDataset, e permite acessar os componentes linkados a este componente de conexão. LOGINPROMPT Essa propriedade é definida como uma variável booleana e define se uma caixa de diálogo deverá ser exibida quando se estabelece uma conexão. STREAMEDCONNECTED Essa propriedade é definida como uma variável booleana e define se a conexão estava ativa quando o componente responsável pela conexão foi carregado a partir de um stream.

PRINCIPAIS MÉTODOS DA CLASSE TCUSTOMCONNECTION Apresenta-se a seguir uma descrição dos principais métodos da classe TCustomConnection, além daqueles herdados das suas classes ancestrais. CLOSE Declaração procedure Close; Esse método encerra uma conexão (equivale a definir a propriedade Connected como False). DOCONNECT Declaração procedure DoConnect; Esse método estabelece a conexão ao banco de dados (usado pela propriedade connected para estabelecer a conexão). DODISCONNECT Declaração procedure DoDisConnect; Esse método finaliza a conexão ao banco de dados (usado pela propriedade comnected para finalizar a conexão).

GETCONNECTED Declaração function GetConnected: Boolean; Esse método retorna o valor armazenado na propriedade Connected. GETDATASET Declaração function GetDataSet(Index:Integer): TDataSet; Esse método retorna uma referência a um dos objetos derivados da classe TDataset vinculados a esta conexão, recebendo como parâmetro o índice que define o objeto na propriedade Datasets. GETDATASETCOUNT Declaração function GetDataSetCount: Integer; Esse método retorna o valor armazenado na propriedade DatasetCount. LOADED Declaração procedure Loaded; Esse método carrega o componente de conexão após todos os outros componentes do formulário ou Datamodule terem sido carregados na memória. OPEN Declaração procedure Open; Esse método inicializa ou estabelece uma conexão. SETCONNECTED Declaração procedure SetConnected(Value: Boolean); virtual; Esse método altera o valor da propriedade Connected, em função do argumento passado como parâmetro na chamada do método.

PRINCIPAIS EVENTOS DA CLASSE TCUSTOMCONNECTION Apresenta-se a seguir uma descrição dos principais métodos da classe TCustomConnection, além daqueles herdados das suas classes ancestrais. AFTERCONNECT Esse evento ocorre assim que uma conexão é estabelecida. AFTERDISCONNECT Esse evento ocorre assim que uma conexão é encerrada. BEFORECONNECT Esse evento ocorre antes que uma conexão seja estabelecida. BEFOREDISCONNECT Esse evento ocorre antes que uma conexão seja encerrada. ONLOGIN O procedimento associado a esse evento é executado sempre que se estabelece uma nova conexão ao banco de dados representado pelo componente, e o valor da sua propriedade LoginPrompt é igual a True. Esse procedimento tem, entre seus parâmetros, um objeto da classe TStrings chamado LogimParams no qual devem ser fornecidos os valores dos parâmetros USERNAME e PASSWORD, para permitir o acesso ao banco de dados. Caso se esteja utilizando a caixa de diálogo padrão de Login, não há necessidade de se codificar esse procedimento.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF