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