importar resultado de um DB grid para outro

02/03/2013

2

tenho um resultado de um DB, de importar esse resultado pra outro atraves de um botão.
Responder

Posts

02/03/2013

Joel Rodrigues

Você tem um DBGrid e quer exibir o mesmo conteúdo em outro DBGrid? É só ligar ambos ao mesmo DataSource, assim eles estarão sempre exibindo o mesmo conteúdo.
Responder

02/03/2013

Tiago Santos

bom fazendo isso ele replica, mas preciso tambem que ele verifique se a informação do DBorigem (q estar em um banco SQL), replique para o DBdestino apenas se o campo referencia forem iguais. O outro banco tambem é Sql no mesmo servidor.
Responder

02/03/2013

Joel Rodrigues

Como assim se o campi referencia for igual? Quantos datasets você tem para compara? Acho que basta você fazer essa verificação e, caso seja verdadeira, associe o segundo grid ao datasource.
Responder

02/03/2013

Tiago Santos

tenho 2 bancos , com a mesma estrutura , o projeto é listar produtos de um banco(ate ai tudo beleza, carrega no db origem) ai preciso que esses produtos sejam lançados no outro banco. tenho um dataset ´pra fazer o q preciso para o carregamento para o primeiro DB,sendo assim preciso q ele valide se o campo referencia for igual ao do segundo banco, e carregue isso no outro db grid.
Responder

02/03/2013

Joel Rodrigues

Então não é só exibir os dados, você quer literalmente copiar os dados de um banco para o outro?
Para comparar os campo, não bastaria fazer algo como:
if query1.FieldByName('campo').AsString = query2.FieldByName('campo').AsString then
// fazer algo

?
Responder

02/03/2013

William

Complementando a resposta do Joel, os DBGrids são simplesmente uma forma de apresentar dados que estão nos DataSets, então quando vc falar importar resultados entre DBGrids nada mais é do que copiar dados de um DataSet para outro DataSet.

Por isso o Joel sugeriu atribuição via campos do DataSet!!!
Responder

02/03/2013

Tiago Santos

Compreendi, valeu pelas dicas.
Bom seguindo dicas de Joel e suas em um topico anterior vai o q estou fazendo

procedure TFrmtransfere.BntTransfereClick(Sender: TObject);
begin
//

DMTransfere.ADOQuery3.Close;
DMTransfere.ADOQuery3.SQL.Clear;
DMTransfere.ADOQuery3.SQL.Add('select referencia,descricao from estoque');
if DMTransfere.ADOQuery3.FieldByName('referencia').AsString = DMTransfere.ADOQuery1.FieldByName('referencia').AsString then
DMTransfere.ADOQuery3.Open;
end;

quando clico no botao ele dar um erro
---------------------------
Transfere
---------------------------
ADOQuery3: Field 'referencia' not found.
---------------------------
OK
---------------------------

e o procedimento da ADOQUERY 1 ta funcionando corretamente, mas vou postar aqui pra poder clariar pro Joel e pra voce

DMTransfere.ADOQuery1.Close;
DMTransfere.ADOQuery1.SQL.Clear;
DMTransfere.ADOQuery1.SQL.Add('select referencia,descricao,quantidade,unitario_real,total_liq from ITENS_PED_ORCAMENTO');
DMTransfere.ADOQuery1.SQL.Add('where CODIGO = :Edt_numero');
DMTransfere.ADOQuery1.Parameters.ParamByName('Edt_numero').Value := StrToInt(Edt_numero.text);
DMTransfere.ADOQuery1.Open;
Responder