[firebase-br] Problema na hora de gravar no banco
Fabiano
fabiano_programador em yahoo.com.br
Qua Ago 16 16:37:16 -03 2006
Caro Oleber,
Não existe nenhuma chave estrangeira nessa tabela, e a chave primária é o CLI_CODIGO e estou desligando o pfInUpdate dele, já até testei tbm desligando o pfInWhere, mas o erro persiste. Alguma outra dica?
Oleber_itajai <oleber_itajai em yahoo.com.br> escreveu:
Cara, vc esta alterando a chave primária ou algum campo que é chave
estrangeira de outra tabela.
----- Original Message -----
From: "Fabiano"
To:
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/
______________________________________________
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
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
Mais detalhes sobre a lista de discussão lista