Selecao DevMedia QUERO SER PRIME

Fórum estou com uma duvida em try e except #327060

08/08/2006

0

segue o codigo abaixo:

 try
  Tabela.Post;
  Tabela.ApplyUpdates;
  Trans.CommitRetaining;
 except
  Trans.RollbackRetaining;  
 end;


onde coloque um locate, ou algo que teste se o registro existe, nao gravando de forma nenhuma para que n perca o generator? ate mesmo que perca, mas nao quero gravar um registro repetido. A tabela possui somente 2 campos (ID_EXAME, TIPO_EXAME) e estou usando DBEDIT para inserir os campos

obrigado pela força


Njuniorba

Njuniorba

Responder

Posts

08/08/2006

Jáder Medeiros

O certo é você inserir um índice único nessa tabela. Impossibilitando gravar um registro duplicado. Vou explicar o porquê: O método Locate da classe TDataSet move o cursor para localizar o registro e com o DataSet em modo de edição isso não será possível.

Se deseja fazer uma coisa mal feita, mas sem o uso de índice único, o certo é você executar uma consulta ao banco antes de salvar o registro. Mas isso abriria outro cursor com o banco e consumiria mais recurso de memória para o procedimento.[/code]


Responder

Gostei + 0

09/08/2006

Njuniorba

[quote=´Jáder´]O certo é você inserir um índice único nessa tabela. Impossibilitando gravar um registro duplicado. Vou explicar o porquê: O método Locate da classe TDataSet move o cursor para localizar o registro e com o DataSet em modo de edição isso não será possível.

Se deseja fazer uma coisa mal feita, mas sem o uso de índice único, o certo é você executar uma consulta ao banco antes de salvar o registro. Mas isso abriria outro cursor com o banco e consumiria mais recurso de memória para o procedimento.[/code]


Ola amigo.. o campo eh unico mesmo, ja q n pode ser repetido.. vou fazer uma SP mesmo, acho a forma mais relativa e robusta pra isso.. o sistema n roda em rede remota e sim local, entao a demora n sera tanta. Mesmo assim, obrigado pela ajuda!


Responder

Gostei + 0

09/08/2006

Marco Salles

sinceramente eu não entendi o final :cry: :cry: :cry:

Ola amigo.. o campo eh unico mesmo, ja q n pode ser repetido


..... nao quero gravar um registro repetido.


se o campo é unico , mesmo que voce quisesse , com voce faria para gravar un numero repedito...Parece ser redunte.. Voce querer evitar uma coisa que por si so ja seria evitada pela construçao do campo no banco

:?: :?: :?:


Responder

Gostei + 0

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

Aceitar