Fórum ClientDataSet x Fechamento de tabelas. #562757

22/09/2016

0

Bom dia pessoal,

Estou usando Delphi XE8 Com Mysql 5.1 e os componentes SQLDataSet, DataSerProvider,ClienteDataset e DatSource.

A minha duvida é:

quando uso ClienteDataSet.Open provavelmente ele da um Open no SQLDataset também (me corrija se eu estiver errado).

Para evitar da ficar com as tabelas abertas qual a forma correta? ClienteDataSet.Active := False?

Se eu usar esse comando ele encerra a tabela refenciada ou ela Continua aberta e somente o ClienteDataSet é fechado?
Casa

Casa

Responder

Posts

22/09/2016

Carlos Faria

Olá
active é um metodo diferente de open Ex

If not clientdataset.active then
clientdataset.open ; // verifica se o cliente está ativo se não está abre porem active e open são metodos diferentes

para fechar é o close mesmo ex :

ClientDataset.close ;
//seu codigo aqui
clientdataset.open ;
Responder

Gostei + 0

22/09/2016

Carlos Faria

Outra observação o clientDataset é um componente de memoria pode fazer como citei acima que não havera erros. Ele ira carregar para a memoria os dados somente quando chamado
Responder

Gostei + 0

22/09/2016

Casa

Mas a minha preocupacao é a tabela, se eu der um close no clientdataset a tabela tb sera fechada? Pq se eu n sair fechando as tabelas ficarei com muitas conexões abertas no servidor e vai sobrecarregar ele
Responder

Gostei + 0

22/09/2016

Carlos Faria

Amigo vá no envento on destroy ou onclose do form e :

ClientDataSet1.EmptyDataSet ; //para limpar todos os dados carregados
ClientDataSet1.close ; para fechar o client
Faça isso em todos os forms e pronto
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar