Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gaede

Gravar dados diferentes em duas tabelas ao mesmo tempo

Recommended Posts

Olá Pessoal, estou com o seguinte probleminha:

 

Tenho as seguintes colunas em um DBGrid: Nome, Telefone, Email, Cargo e Setor.

As colunas Nome, Telefone e Email devem ser gravadas na tabela PESSOAS(como uma nova pessoa), e as Colunas Cargo e Setor devem ser gravadas na tabela PESSOASCONTATOS(que é um relacionamento com a tabela PESSOAS). Na hora do Post esses dados devem ser dirigidos para as duas tabelas ao mesmo tempo. Estou usando tecnologia de acesso a dados BDE, alguém tem alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente criar uma TQuery (aba BDE) e lançar o teu sql de consulta (select * from pessoa,cargo where pessoa.codigocargo = cargo.codigo - ou qualquer coisa semelhante a isto).

Coloque um DataSource (TDataSource, aba Data Access) e vincule este com a sua Query.

Vincule no teu DBGrid com o DataSource.

Não se esqueça de abrí-lo ao acessar o form que tem o DBGrid...

 

Ah, vale mencionar que o atributo AutoEdit do seu datasource precisa estar True para que você possa criar novos registros e alterar os dados das colunas.

Você pode alterar esta permissão dinamicamente (i.é, controlar o valor deste atributo em tempo de execução).

 

Forte abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desde já agradeço. Para ser mais específico: este Grid é um join da tabela PESSOA com a tabela PESSOASCONTATOS. A chave de relacionamento entre elas é Cod_Pessoa. Quando eu descer uma linha do Grid(para inserir um novo registro), o programa deverá criar uma nova PESSOA e usar as colunas Nome, Telefone e E-mail. Ao mesmo tempo, a tabela PESSOASCONTATOS deverá criar um novo registro com o Cargo e o Setor desta pessoa criada.

 

mais uma vez agradeço a todos pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

A única forma de fazer o que quer é dar dois inserts seguidos, um em cada tabela, visto que não existe como dar um único insert em duas tabelas.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.