[firebase-br] Problema na hora de gravar no banco

Fabiano fabiano_programador em yahoo.com.br
Qua Ago 16 15:05:46 -03 2006


Caros colegas do fórum,

Estou desenvolvendo uma aplicação de cadastro de visitas, as tabelas principais são: Cliente e Visita e tenho a seguinte situação: Pode existir de 1 mesmo cliente fazer várias visitas então fiz o seguinte, ao clicar no botão "Incluir", o primeiro campo a ser preenchido deve ser "Identidade", caso ainda não exista essa identidade no banco, o novo cadastro é feito normalmente, agora caso contrário, os campos relativos ao cliente, já são todos preenchidos automaticamente, só q na hora de gravar, não posso gravar novamente os mesmos dados na tabelas de Cliente, correto? Devo atualizar apenas o da tabela Visita. Coloquei o seguinte código no evento OnValidate do ClientDataSet:

procedure TDmCadCliente.cdsClienteCLI_IDENTIDADEValidate(Sender: TField);
begin
If not Sender.IsNull Then
Begin
qyInfCliente.ParamByName('CLI_IDENTIDADE').Value := Sender.Value;
qyInfCliente.Open;
try
If not qyInfCliente.IsEmpty Then
Begin
cdsCliente.FieldByName('CLI_CODIGO').Value := qyInfCliente.FieldByName('CLI_CODIGO').Value;
cdsCliente.FieldByName('CLI_NOME').Value := qyInfCliente.FieldByName('CLI_NOME').Value;
cdsCliente.FieldByName('CLI_CPF').Value := qyInfCliente.FieldByName('CLI_CPF').Value;
cdsCliente.FieldByName('CLI_CADAST_POR').Value := qyInfCliente.FieldByName('CLI_CADAST_POR').Value;
cdsCliente.FieldByName('CLI_EMPRESAORIGEM').Value := qyInfCliente.FieldByName('CLI_EMPRESAORIGEM').Value;
cdsCliente.FieldByName('CLI_FOTO').Value := qyInfCliente.FieldByName('CLI_FOTO').Value;
qyCliente.FieldByName('CLI_CODIGO').ProviderFlags := [pfInKey,pfInWhere];
qyCliente.FieldByName('CLI_NOME').ProviderFlags := [pfInWhere];
qyCliente.FieldByName('CLI_IDENTIDADE').ProviderFlags := [pfInWhere];
qyCliente.FieldByName('CLI_CPF').ProviderFlags := [pfInWhere];
qyCliente.FieldByName('CLI_CADAST_POR').ProviderFlags := [pfInWhere];
qyCliente.FieldByName('CLI_EMPRESAORIGEM').ProviderFlags := [pfInWhere];
qyCliente.FieldByName('CLI_FOTO').ProviderFlags := [pfInWhere];
End;
finally
qyInfCliente.Close;
end;
End;
end;

Só que quando mando gravar, ocorre o seguinte erro: "Cascaded updates not enabled."
O q pode está errado?
   
  Desde já agradeço
  []'s

 		
---------------------------------
 O Yahoo! está de cara nova. Venha conferir!


Mais detalhes sobre a lista de discussão lista