Tabela (insert, edit, post...) X Sql (insert, update ...)
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 ?
Vamos lá ..........
Qual a maneira é mais eficaz em um sistema cliente/servidor ?
E-nei
Curtidas 0
Respostas
Carlosmielke
20/05/2004
não foi compreendida sua colocação
GOSTEI 0
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
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 ...)
Vamos lá ..........
Qual a maneira é mais eficaz em um sistema cliente/servidor ?
Tabela (insert, edit, post...) X Sql (insert, update ...)
GOSTEI 0
E-nei
20/05/2004
Com relacao a transacoes o Sql (insert, update ...) seria melhor que o
Tabela (insert, edit, post...) ????
Tabela (insert, edit, post...) ????
GOSTEI 0
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
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
20/05/2004
Um errinho, consertando:
ClientDataSet1.Post; //Mais o tempo do POST
ClientDataSet1.Post; //Mais o tempo do POST
GOSTEI 0