MySql e Dbxpress - Não Consigo editar uma Tabela!!

25/08/2004

0

Olá amigos, estou desenvolvendo um programa para um ambulatório médico, uso o banco MySql, mas quando mando editar a tabela ele simplismente não altera nada na tabela, os códigos que eu uso são:
DM_CADASTRO.CDS_AGENDA.Edit;

F_Entradados_AGENDA:=TF_Entradados_AGENDA.Create(SELF);
TRY
F_Entradados_AGENDA.SHOWMODAL;
FINALLY
F_Entradados_AGENDA.Release;

=> dm_cadastro.CDS_AGENDA.ApplyUpdates(0);

DM_CADASTRO.CDS_AGENDA.Close;
DM_CADASTRO.CDS_AGENDA.Open;
END;
quando chega no applyUpdates ele da um erro dizendo que o registro está sendo alterado por outro usuário, embora eu não esteja usando nenhuma Transação nessa parte. alguém pode me ajudar??


Daniel Martins

Daniel Martins

Responder

Posts

26/08/2004

Daniel Martins

será que nimgém vai me ajudar????
vamo lá gurizada da uma mão ai...


Responder

27/08/2004

Vinicius2k

Colega,

O erro é : Record not found or changed by another user´?
Não trabalho com MySQL, mas este erro é conhecido...

É um problema na configuração ideal do DataSetProvider para esta tabela... vc, provavelmente, está alterando alguma coluna que é chave primária e/ou está presente na cláusula where...
Ajuste o UpdateMode do Provider para upWhereKeyOnly e nos TFields em questão o ProviderFlags -> Inkey para True...

Note que nem sempre esta é a unica solução, pois depende de como está exatamente a situação da sua tabela na aplicação... como vc trouxe os dados e como está aplicando os updates... Sugiro que estude as propriedades UpdateMode do Provider e ProviderFlags do TField para entender exatamente o que está acontecendo...

Vc tbm pode fazer uma pesquisa aqui no fórum por ´another user´... vai encontrar algum material com este erro em situações parecidas ou diferentes...

Espero ter ajudado...
T+


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar