Fórum Editar registros #42778
04/03/2004
0
Estou tendo dificuldades para editar registros quando uso duas tabelas relacionadas em um dataset. Sei que quando seleciono uma tabela é só voce fazer:
dataset.edit
fazer as modificaçoes
dataset.post
dataset.applyupdate(-1);
Mas quando faço uma seleção usando mais de uma table, sempre dá erro quando vou fazer o applyupdate. Estou usando um componente simpledataset da paleta dbexpress, conectado ao firebird 1.0.
O comando sql do dataset é o seguinte:
select movimento.alta, movimento.paciente, movimento.internacao, pacientes.codigo, pacientes.nome from movimento, pacientes
where movimento.paciente = pacientes.codigo and movimento.alta is null
order by pacientes.nome
este é o comando do delphi para atualizar um campo:
sdsAlta.Edit;
sdsAlta.FieldByName(´alta´).AsDateTime := strtodate(edit1.Text);
sdsAlta.Post;
sdsAlta.ApplyUpdates(-1);
este é o erro:
column unknown NOME
at line 8, column 2
Alguém pode me ajudar a entender como funciona a gravaçao quando envolve duas tabelas?
dataset.edit
fazer as modificaçoes
dataset.post
dataset.applyupdate(-1);
Mas quando faço uma seleção usando mais de uma table, sempre dá erro quando vou fazer o applyupdate. Estou usando um componente simpledataset da paleta dbexpress, conectado ao firebird 1.0.
O comando sql do dataset é o seguinte:
select movimento.alta, movimento.paciente, movimento.internacao, pacientes.codigo, pacientes.nome from movimento, pacientes
where movimento.paciente = pacientes.codigo and movimento.alta is null
order by pacientes.nome
este é o comando do delphi para atualizar um campo:
sdsAlta.Edit;
sdsAlta.FieldByName(´alta´).AsDateTime := strtodate(edit1.Text);
sdsAlta.Post;
sdsAlta.ApplyUpdates(-1);
este é o erro:
column unknown NOME
at line 8, column 2
Alguém pode me ajudar a entender como funciona a gravaçao quando envolve duas tabelas?
Roberto Rossi
Curtir tópico
+ 0
Responder
Posts
05/03/2004
Afarias
Acho q vc deveria usar um ClientDataSet associado a um DataSetProvider (associado a um SQLDataSet) e no DataSetProvider usar o evento OnGetTableName.
T+
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)