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

Oleber_itajai oleber_itajai em yahoo.com.br
Qua Ago 16 15:44:13 -03 2006


Cara, vc esta alterando a chave primária ou algum campo que é chave
estrangeira de outra tabela.


----- Original Message ----- 
From: "Fabiano" <fabiano_programador em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Wednesday, August 16, 2006 3:05 PM
Subject: [firebase-br] Problema na hora de gravar no banco


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!
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


		
_______________________________________________________ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 






Mais detalhes sobre a lista de discussão lista