Array
(
)

Cadastrar na Query ou no ClientDataSet?

Raserafim
   - 19 nov 2005

em um cadastro, por exemplo de clientes, é mais vantagem (ou tem mais benefícios) usar o componente ClienteDataSet para servir de entrada de dados e depois dar um ApplyUpdates para enviar os dados para a tabela, ou é melhor usar direto a Query para fazer isso?
Qual a vantagem eu teria em usar o ClientDataSet?


Firekiller
   - 19 nov 2005

Na minha opinião você tem 3 vantagens:

1. Transações ficarem abertas menos tempo;

2. Fácil mudança de banco de dados e/ou componentes de conexão com banco (essa é a melhor delas) e

3. Aproveitar criação de campos do tipo Aggregate e InternalCalc.

Se o que deseja é usar comandos SQL, pode usá-los no CLientDataSet também. Basta que para isso, você coloque a propriedade poAllowCommandText do DataSetProvider para true.


Raserafim
   - 22 nov 2005

essa da portabilidade realmente é uma grande vantagem.
e acho q também seria um passo a frente para fazer um sistema em camadas né?

sempre q uso o ClientDataSet utilizo tb uma Query para colocar as instruções SQL nela. Se eu utilizar a propriedade do ClientDataSet CommandText para colocar as instruções SQL, posso descartar completamente a Query sem nenhuma desvantagem?
ou tem algum benefício de ter a Query como intermediário?


Raserafim
   - 23 nov 2005

se eu utilizar o ClientDataSet, ao o usuário abrir um registro do cadastro de um determinado cliente, e um outro usuário (que está em rede) abrir o cadastro do mesmo cliente.
como posso fazer o controle de concorrência para evitar que os dois alterem o mesmo registro ao mesmo tempo?
ou seja, como saber que um determinado registro está sendo utilizado?


Raserafim
   - 30 dez 2005

como bloquear um registro que está sendo acessado?