ADO (Como quot;travarquot; uma tabela)
Situação:
SQL Server
Conexão ADO
Tabela com uma única coluna e única linha
Em um sistema de laboratório utilizo uma tabela para gerar o número de registro do exame. Esse número é a chave primária de uma outra tabela.
Em clipper, eu abria essa tabela em modo exclusivo, lia o número contido nela, somava +1, gravava esse resultado nela e utilizava esse número como o número do exame em outra. Depois fechava a tabela, liberando para outros usuários.
Detalhe: Não posso usar o autoencremento do SQL Server, pois a chave é do tipo ´15999/03´, onde o ´03´ é o ano...
Como faço isso em Dephi?
SQL Server
Conexão ADO
Tabela com uma única coluna e única linha
Em um sistema de laboratório utilizo uma tabela para gerar o número de registro do exame. Esse número é a chave primária de uma outra tabela.
Em clipper, eu abria essa tabela em modo exclusivo, lia o número contido nela, somava +1, gravava esse resultado nela e utilizava esse número como o número do exame em outra. Depois fechava a tabela, liberando para outros usuários.
Detalhe: Não posso usar o autoencremento do SQL Server, pois a chave é do tipo ´15999/03´, onde o ´03´ é o ano...
Como faço isso em Dephi?
Saviomiranda
Curtidas 0
Respostas
Comodelphi
11/05/2003
Pq vc não cria um TRIGGER BEFORE INSERT, para tratar esse campo.
GOSTEI 0
Aroldo Zanela
11/05/2003
Colega,
Acho a idéia do trigger ideal. Para bloqear o registro da forma que mencionou, experimente alterar as seguintes propriedade do objeto ADO:
CursorLocation = clUseServer;
CursorType = ctDynamic;
LockType = ltPessimistic;
Acho a idéia do trigger ideal. Para bloqear o registro da forma que mencionou, experimente alterar as seguintes propriedade do objeto ADO:
CursorLocation = clUseServer;
CursorType = ctDynamic;
LockType = ltPessimistic;
GOSTEI 0