Frederico,
Eu passei 3 meses estudando isso! :)
O problema realmente começa em formulários que você tem mais de uma tabela (relações 1..n ou n..n)
Nestes casos você deve passar dados para a tabela PAI e também para as FILHAS, sendo que na PAI você terá 1 (ou N) registros e nas FILHAS N (ou 1) registros.
Eu uso DBC/DBF, sempre com transações (BEGIN TRANSACTION / ROLLBACK / END TRANSACTION). E o problema está aí. Se eu tiver uma classe para cada tabela, não consigo abrir a transação antes e fechar depois. Então o ideal seria que um componente (uma função) fizesse tudo isso. Neste caso, como você passaria os dados?
Enfim: Estudei 3 meses, aprendi bastante (estudei tudo: ADO, XML, STRING, ARRAY, ETC, PASS THOUGHT (SQL), VIEW REMOTA (SQL)) mas não cheguei na "SOLUÇÃO IDEAL". A única coisa que aprendi é que cada caso é um caso e vai depender muito do tipo de acesso, se será acesso remoto, quem irá acessar, pra que, como, etc...
Quase fiquei louco! :)
[]s
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte