ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Tokyo+Postgre+multisql - RESOLVIDO

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
guimas
Membro Junior
Membro Junior


Registrado: Quarta-Feira, 30 de Mai de 2007
Mensagens: 329

MensagemEnviada: Ter Set 24, 2019 3:34 pm    Assunto: Tokyo+Postgre+multisql - RESOLVIDO Responder com Citação

Boa tarde a todos - nos delphis antigos vc podia executar vários sql num objeto TQuery, TZQuery - porém no tokyo, isso não funciona, fazer mais de 1 update ou mais de um insert ... alguém tem alguma dica.

Desde já muito obrigado Rolling Eyes


Editado pela última vez por guimas em Qua Set 25, 2019 7:57 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 8904
Localização: Sinop-MT

MensagemEnviada: Qua Set 25, 2019 8:58 am    Assunto: Responder com Citação

pelo q me lembro o TQuery (e seus derivados) nao permite executar varios comandos sql de uma vez so. vc teria q usar componente de script pra isso:

Citação:
TZSqlProcessor
TUniScript


ou seu equivalente
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
guimas
Membro Junior
Membro Junior


Registrado: Quarta-Feira, 30 de Mai de 2007
Mensagens: 329

MensagemEnviada: Qua Set 25, 2019 12:57 pm    Assunto: Responder com Citação

MUITO Obrigado pela dica Joemil, peguei um exemplo aqui

with DMConnection.FDScript1 do
begin
try
SQLScripts.Clear;
SQLScripts.Add;
with SQLScripts[0].SQL do
begin
Add(///sua instruição sql aqui);
end;
ValidateAll;
ExecuteAll;
except
on E: Exception do
GerarLog('C:\MeuSistema\ERRO_Script ' + TB_CADASTRO +
'.wcerro', E.Message, E.ClassName);
end;
end;

Só que se eu insiro 10 linhas de inserções e da pau na 4, tem q dar rollback ... e ele apenas insere 9 ... tentei NOT VALIDATEALL, mas não funciona o mesmo ...

Tentei várias outras formas ... mas não consigo dar ROLLBACK se alguma instrução falhar

Tens alguma ideia ??
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
guimas
Membro Junior
Membro Junior


Registrado: Quarta-Feira, 30 de Mai de 2007
Mensagens: 329

MensagemEnviada: Qua Set 25, 2019 7:55 pm    Assunto: Responder com Citação

RESOLVIDO - obrigado a todos

with FDScript1 do
begin
try
SQLScripts.Clear;
SQLScripts.Add;
with SQLScripts[0].SQL do
begin
Add('insert into usuarios (cod_usuario,nome,senha,ativo)values(5,'+QuotedStr('AAA')+','+QuotedStr('111')+','+QuotedStr('S')+');');
Add('insert into usuarios (cod_usuario,nome,senha,ativo)values(6,'+QuotedStr('BáB')+','+QuotedStr('111')+','+QuotedStr('S')+');');
Add('insert into usuarios (cod_usuario,nome,senha,ativo)values(7,'+QuotedStr('CCC')+','+QuotedStr('111')+','+QuotedStr('S')+');');
end;

ValidateAll;
FDCon.StartTransaction;
if FDScript1.ExecuteAll then
FDCon.Commit
else
begin
//showmessage(inttostr(fdscript1.TotalJobSize)); // don't undertand these TotalJobSize and related values
ShowMessage('Error');
FDCon.Rollback;
end;

except
on E: Exception do
ShowMessage('Erro');
end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB