Apesar de eu ter apanhado um pouco com TQUERY com JOIN e ter que alterar...
APRENDI como se faz... não sei o banco q vc usa, mas se fiz em DBF (com
TQUERY), e FAÇO em MySQL (com MyDAC), acho q vc vai conseguir fazer em qualquer
um...
Eu não uso GRID para ALTERAÇÕES, apenas para visualizar e APAGAR!..
DataBase1.TransIsolation := tiDirtyRead;
DataBase1.ReadOnly := false;
Query.CachedUpdate := true;
Query.RequestLive := false;
Query.UniDirecional := false;
Query.SQL := SELECT * +
FROM 'ouv_sort.dbf' AS sor, 'ouvinte.dbf' AS ouv +
WHERE (sor.ts_cod_cad = :premio) AND (sor.ouv_ndoc=ouv.num_doc) +
ORDER BY ouv.ts_sorteio;
Query.UpdateObject := UpdateSQL1;
// use somentes os campos de UMA TABELA... não as misteres
// em DELETE INSERT MODIFY
UpdateSQL1.DeleteSQL := delete from 'ouv_sort.dbf' where TS_ID = :OLD_TS_ID;
// como usar:
dm1.Database1.StartTransaction;
dm1.qry_sorteio.Delete;
try
dm1.qry_sorteio.ApplyUpdates;
dm1.Database1.Commit;
except
// se falhou, volta tudo como era...
dm1.Database1.Rollback;
raise;
end;
// limpa o cache de modificações.
DM1.qry_sorteio.CommitUpdates;
[]s
Luiz Escobar - Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL
WINDOWS - Delphi/ASSEMBLY/MySQL/xBase
SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse11), Windows 2K/XP
HARBOUR
--
Borland C++ 5.5.1 (32 bit)
Harbour 1.0.1 Intl. (Rev. 9429)
xHarbour Compile build 1.1.0 (Simplex)
Harbour MiniGUI 1.5 Extended Edition (Build 57d) - 2008.10.10
---
From: Fabio Ferreira
Sent: Friday, October 17, 2008 2:55 PM
To: Delphi-Brasil ; delphi-br@yahoogrupos.com.br
Subject: [delphi-br] Como Sincronizar 2 DataSource
Tenho 2 DataSource no meu projeto, um esta ligado a GRID, mas pelo fato de
ter um Join para alguns campos, não posso fazer atualização direto nele.
Ele aprensenta os dados numa GRID, e gostaria de poder pegar os o IDdo da
linha selecionada na GRID e sincronizar com o do outro DataSource
Pq no 2o. DataSource é que poderei Excluir e alterar um determinado
registro.
Abs
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]