ClientDataSet x Fechamento de tabelas.
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?
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
Curtidas 0
Respostas
Carlos Faria
22/09/2016
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 ;
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 ;
GOSTEI 0
Carlos Faria
22/09/2016
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
GOSTEI 0
Casa
22/09/2016
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
GOSTEI 0
Carlos Faria
22/09/2016
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
ClientDataSet1.EmptyDataSet ; //para limpar todos os dados carregados
ClientDataSet1.close ; para fechar o client
Faça isso em todos os forms e pronto
GOSTEI 0