Qual a Melhor forma de Inserir no DBExpress
Estamos começando um projeto novo utilizando Firebirde com DBExpress surgiram algumas duvidas:
Qual a melhor forma de fazer inclusão, alteração e exclusão:
1- Utilizando SQL, insert into ..... e dando o execSQL ?
2- Ou dando post ? e depois o ApplyUpdates ...
Qual possui melhor performace ?
Obrigado
Qual a melhor forma de fazer inclusão, alteração e exclusão:
1- Utilizando SQL, insert into ..... e dando o execSQL ?
2- Ou dando post ? e depois o ApplyUpdates ...
Qual possui melhor performace ?
Obrigado
Cristianouzel
Curtidas 0
Respostas
Jsaraujo
21/10/2004
Bom dia amigo,
Usando SQL é a melhor forma, porque:
1 - segurança
2 - clareza no controle das informações que estão sendo passadas, vc deixa de depender da interface do componente, ou seja, tudo que está sendo passado o desenvolvedor tem controle
3 - rapidez, se vc fizer um teste com um while ou um for e ir inserindo no banco de dados, sempre de um em um até um certo numero...a diferença de registros inseridos dentro de um determinado é impressionante...
Diante disso eu aconselho usar tudo em SQL e depois fazer o ExecSQL e sem usar componentes dataware (dbedits), vai ser mais trabalho, mais a otimização no produto final é recompensadora.
Espero ter ajudado
Usando SQL é a melhor forma, porque:
1 - segurança
2 - clareza no controle das informações que estão sendo passadas, vc deixa de depender da interface do componente, ou seja, tudo que está sendo passado o desenvolvedor tem controle
3 - rapidez, se vc fizer um teste com um while ou um for e ir inserindo no banco de dados, sempre de um em um até um certo numero...a diferença de registros inseridos dentro de um determinado é impressionante...
Diante disso eu aconselho usar tudo em SQL e depois fazer o ExecSQL e sem usar componentes dataware (dbedits), vai ser mais trabalho, mais a otimização no produto final é recompensadora.
Espero ter ajudado
GOSTEI 0
Vinicius2k
21/10/2004
[b:a217bb9040][color=red:a217bb9040]Notificação de Infração às Regras de Conduta :[/color:a217bb9040][/b:a217bb9040]
Colega,
Neste tópico ocorreu infração às Regras de Conduta do Fórum :
[list:a217bb9040][*:a217bb9040]Tópico em duplicidade. Quando as soluções propostas e/ou respostas dadas não forem suficientes, reative o tópico original e não abra um novo. http://delphiforum.icft.com.br/forum/viewtopic.php?t=53221
Se tiver dificuldades para encontrar seus tópicos mais antigos, vá até [url=http://delphiforum.icft.com.br/forum/index.php]ClubeDelphi - SQLMagazine - Índice do Fórum[/url] e click em [url=http://delphiforum.icft.com.br/forum/search.php?search_id=egosearch]Verificar as SUAS mensagens[/url], localizado na parte superior direita da página.[/list:u:a217bb9040]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.
Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, estou à sua disposição para ajudar-lhe. Se desejar, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].
Colega,
Neste tópico ocorreu infração às Regras de Conduta do Fórum :
[list:a217bb9040][*:a217bb9040]Tópico em duplicidade. Quando as soluções propostas e/ou respostas dadas não forem suficientes, reative o tópico original e não abra um novo. http://delphiforum.icft.com.br/forum/viewtopic.php?t=53221
Se tiver dificuldades para encontrar seus tópicos mais antigos, vá até [url=http://delphiforum.icft.com.br/forum/index.php]ClubeDelphi - SQLMagazine - Índice do Fórum[/url] e click em [url=http://delphiforum.icft.com.br/forum/search.php?search_id=egosearch]Verificar as SUAS mensagens[/url], localizado na parte superior direita da página.[/list:u:a217bb9040]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.
Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, estou à sua disposição para ajudar-lhe. Se desejar, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].
GOSTEI 0
Cristianouzel
21/10/2004
Jeferson
Fiz o teste com os dois modos e realmente a diferente é muito grande.
Gostaria de Saber sobre as diferenças em relação a segurança ?
Grato
Fiz o teste com os dois modos e realmente a diferente é muito grande.
Gostaria de Saber sobre as diferenças em relação a segurança ?
Grato
GOSTEI 0
Laercioguerco
21/10/2004
O correto, é adotar manipulção do ClientDataSet, incluindo registro e ou alterando e ou excluindo, uma vez, que teremos controle de concorrência.
Isto é semelhante ap processo de persistência de dados, onde transação e concorrência são tratados pelo conteiner. assim sendo, seguindo o próprio modelo sugerido pelo Delphi, adote ApplayUpdates e deixe o resto por conta do DataSetProvider. Se não qual a sua utilidade com tanta abstração.
laercio@clubedelphi.com.br
Isto é semelhante ap processo de persistência de dados, onde transação e concorrência são tratados pelo conteiner. assim sendo, seguindo o próprio modelo sugerido pelo Delphi, adote ApplayUpdates e deixe o resto por conta do DataSetProvider. Se não qual a sua utilidade com tanta abstração.
laercio@clubedelphi.com.br
GOSTEI 0