Re: [firebase-br] 1/2 off- consultas em outras tabelas - facão no pescoço

Otto ottofuch em terra.com.br
Ter Maio 10 21:24:22 -03 2005


Algo assim?
function TLancamentos.ConsultaSQLGenerica(
  strConsultaSQL: AnsiString): Integer;
var
  strTextoPrincipal: AnsiString;

begin
  ConsultaSQLGenerica := 0;

  if (Trim(strConsultaSQL) = '') or
     (Length(strConsultaSQL) < 1) then
  begin
     //'418 Faltou digitar o texto da Consulta SQL';
     ConsultaSQLGenerica := 418;
     Exit;
  end;

  strTextoPrincipal := Trim(strConsultaSQL);

  try
    DataModule1Basico.SQLDataSetLancam.Close;
    DataModule1Basico.SQLDataSetLancam.CommandType := ctQuery;
    DataModule1Basico.SQLDataSetLancam.CommandText := strTextoPrincipal;
    DataModule1Basico.SQLDataSetLancam.Open;

    DataModule1Basico.ClientDataSetLancam.Close;
    DataModule1Basico.ClientDataSetLancam.Open;
  Except
    {'419 Erro na Consulta SQL';}
    ConsultaSQLGenerica := 419;
    exit;
  end;

end;

usado assim:
(substituindo 'Digite o texto da Consulta SQL' por uma string já pronta para
cada caso)

procedure TfrmMostrarCLX.btnExecutarSQLClick(Sender: TObject);
var
  strTextoPrincipal: AnsiString;
  CalamGeral:        TCalamGeral;
  Lancamentos:       TLancamentos;
  intErro:           Integer;

begin
  if (Trim(memPesquisarSQL.Text) = '') or
     (Length(memPesquisarSQL.Text) < 1) then
  begin
     ShowMessage('Digite o texto da Consulta SQL');
     memPesquisarSQL.SetFocus;
     Exit;
  end;

  CalamGeral  := TCalamGeral.Create;
  Lancamentos := TLancamentos.Create;

  strTextoPrincipal := Trim(memPesquisarSQL.Text);

  intErro := Lancamentos.ConsultaSQLGenerica(strTextoPrincipal);
  if intErro > 0 then
  begin
    ShowMessage(CalamGeral.TextoDeErro(intErro));
    FreeAndNil(CalamGeral);
    FreeAndNil(Lancamentos);
    exit;
  end;

  FreeAndNil(CalamGeral);
  FreeAndNil(Lancamentos);
end;

[]'s
Otto

----- Original Message ----- 
From: "Fausto" <fausto.s.a em uol.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, May 10, 2005 5:48 PM
Subject: [firebase-br] 1/2 off- consultas em outras tabelas - facão no
pescoço


Boa tarde  amigos..
Estou migrando um software Clipper/DBF para Firebird 1.5 e estou utilizando
os
componentes
DBExpress,(SqlConnection+SQLDataSet+DataSetProvider+ClientDataSet), e
esbarrei com o seguinte problema, que é o tópico deste e-mail, estou tendo
que construir forms para consultas em outras tabelas, ex:
Cadastro de pedidos quero ter um form para pesquisar o cliente, outro para
pesquisar o vendedor e assim por diante.

O problema é que estou tendo que criar um form para cada consulta, alguém na
lista teria uma unit de consulta generica, para que eu tirasse como exemplo?
Ao todo terei que construir mais de 12 forms somente de consulta, o que
gostaria é de ter
apenas um e na chamada do mesmo eu passe os parametros que necessito tipo
nome ta tabela, quais o campos que irá mostrar.. se alguém puder me ceder um
exemplo desde já ficarei muito agradecido

Como vocês costumam fazer?

Fausto
ps respondam em pvt para não popular a lista com este assunto.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista