Tabela (insert, edit, post...) X Sql (insert, update ...)

Delphi

20/05/2004

Primeiramente, sou novo na lista e quero tirar o chapeu para o forum e todo o conteudo do site clube Delphi.

Vamos lá ..........

Qual a maneira é mais eficaz em um sistema cliente/servidor ?


E-nei

E-nei

Curtidas 0

Respostas

Carlosmielke

Carlosmielke

20/05/2004

não foi compreendida sua colocação


GOSTEI 0
Bon Jovi

Bon Jovi

20/05/2004

Com MIDAS (ClientDataSet) não tem problema nenhum usar ´.edit/.post´, pelo fato de não se manter conectado ao banco sempre. Por questão de preferência, gosto de usar ´.edit/.post´ mais pra telas bobas de cadastro que seguem o padrão incluir/alterar/excluir, e tb em casos que seja necessário editar um conjunto de registros numa grid, além de manipulação de estrutura de dados na memória em geral. Pra módulos operacionais/telas de negócio uso mais INSERT INTO/UPDATE FROM/DELETE FROM, por ser um pouco mais rápido na maioria das ocasiões.


GOSTEI 0
E-nei

E-nei

20/05/2004

Primeiramente, sou novo na lista e quero tirar o chapeu para o forum e todo o conteudo do site clube Delphi.

Vamos lá ..........

Qual a maneira é mais eficaz em um sistema cliente/servidor ?

Tabela (insert, edit, post...) X Sql (insert, update ...)


GOSTEI 0
E-nei

E-nei

20/05/2004

Com relacao a transacoes o Sql (insert, update ...) seria melhor que o
Tabela (insert, edit, post...) ????


GOSTEI 0
Bon Jovi

Bon Jovi

20/05/2004

´Tabela´ vc diz coisa do tipo TTable? Isso nem pensar... Só pro caso dos
superultrapassados dBase/Paradox. Só use Querys.

Qto ao q eu disse, os dois casos se aplicam perfeitamente pra
Client/Servidor.

Lembrando q ´edit/post´ só se for com Midas.

Como eu disse usar um modo ou outro depende do caso...
Se quer abrir um registro e depois editá-lo, usar edit/post
é mais produtivo e teoricamente com a mesma velocidade de um
SELECT + UPDATE. E se quer apenas inserir o registro na base
com os dados q o usuário digita, fica mais rápido usar INSERT INTO
direto, pois o tempo do SELECT não vai existir.

Com edit/post:

ClientDataSet1.CommandText := ´SELECT ID, NOME FROM TESTE WHERE 0 = 1´;
ClientDataSet1.Open; //Tempo do SELECT
ClientDataSet1.Insert;
ClientDataSet1TESTE.AsString := edtNome.Text;
ClientDataSet1.Post; //Mas o tempo do POST

Com INSERT INTO, usando como exemplo o caso do ADO:

ADOCommand1.CommandText := ´INSERT INTO...´;
ADOCommand1.Execute; //somente o tempo do insert into


GOSTEI 0
Bon Jovi

Bon Jovi

20/05/2004

Um errinho, consertando:

ClientDataSet1.Post; //Mais o tempo do POST


GOSTEI 0
POSTAR