Fórum Aplicação para rodar em duas bases ao mesmo tempo #405507

25/07/2011

0

Preciso fazer uma correção em uma base baseada em informações em outra base. O sistema roda um script nas duas bases, lista os erros e depois vem dando update na base errada, baseada na que está certa. Tenho uma idéia de como fazer, mas novas idéias é sempre bem-vinda, obrigado.
Pjava

Pjava

Responder

Posts

25/07/2011

Wilson Junior

Coloque dpois componentes de conexão, e ligue eles a seus respectivos componentes.

Espero ter colaborado.
Responder

Gostei + 0

25/07/2011

Pjava

Valeu Wilson, mas não foi bem isso que eu estou querendo. É mais em como fazer, uma aplicação que permita ao usuário, ele mesmo escrever os scripts que irão rodar, nada no código. Eu coloquei um Dois memos, dois DBGrid, para o resultado. Gostaria que a query fosse lida do memo e executada e opção para update geral e não geral. Esse não geral, deveria colocar nos DBGrids, um Checkbox(nunca fiz) para marcar qual campo será atualizado ou não, entende. São essas as dúvidas que eu tenho em como fazer. Acho que meu primeiro post não esclareceu bem, por isso posto esse para tentar melhorar minha dúvida.
Responder

Gostei + 0

25/07/2011

Wilson Junior

Veja se isto lhe ajuda em alguma coisa:

SQLQuery_1.SQL.Text := RetSQL( Memo_1.Lines.Text );
SQLQuery_1.ExecSQL;

SQLQuery_2.SQL.Text := RetSQL( Memo_2.Lines.Text );
SQLQuery_2.ExecSQL;


function RetSQL(SQLTexto: string): string;
var
  Posicao: integer;
begin
  Result := SQLTexto;
  Posicao := Pos( 'SELECT', UpperCase(Result) );
  { Adiciona o campo "Marc", para poder fazer o CheckBox }
  if  Posicao > 0 then
      Insert( ' CAST(0 AS SMALLINT) AS Marc, ', Result, Posicao )
  ;
end;


Agora de uma olhada neste link https://www.devmedia.com.br/forum/viewtopic.asp?id=371924

Espero ter colaborado.
Responder

Gostei + 0

25/07/2011

Wilson Junior

Veja se isto lhe ajuda em alguma coisa:

SQLQuery_1.SQL.Text := RetSQL( Memo_1.Lines.Text );
SQLQuery_1.ExecSQL;

SQLQuery_2.SQL.Text := RetSQL( Memo_2.Lines.Text );
SQLQuery_2.ExecSQL;


function RetSQL(SQLTexto: string): string;
var
  Posicao: integer;
begin
  Result := SQLTexto;
  Posicao := Pos( 'SELECT', UpperCase(Result) );
  { Adiciona o campo "Marc", para poder fazer o CheckBox }
  if  Posicao > 0 then
      Insert( ' CAST(0 AS SMALLINT) AS Marc, ', Result, Posicao )
  ;
end;


Agora de uma olhada neste link https://www.devmedia.com.br/forum/viewtopic.asp?id=371924

Espero ter colaborado.
Responder

Gostei + 0

09/05/2013

José

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar