Set Transaction isolation level serializable

26/01/2010

0

Prezados amigos delphianos
Boa Noite Tenho um sistema e utilizo um banco de dados em sql server  e tento executar a intrução através de uma clase desenvolvida por mim sendo que não estou conseguindo alcançar o objetivo. o que acontece, Criei uma query em tempo de execução; FQry:Tquery; Procedure x(Tabela:string);   FQry := Tquery.create(nil);
  if fqry.active then
    fqry.close;
  fqry.sql.clear;
  fqry.sql.add = 'BEGIN TRANSACTION %S'+
                       #10'TRANSACTION ISOLATION LEVEL SERIALIZABLE'+
                       #10'SELECT *  FROM %S';
  fqry.execsql;
O que acontece a instrução executa, no exemplo deveria bloquear passo no momento de chamar o procedimento no meu coringa a TB_PRODUTOS. Então neste exato momento a tabela de produtos não poderia mais aceitar posts e nem apply. e ela esta aceitando.
Alguém sabe me informar como eu faço para solucionar este problema? Desde Já Agradeço Um ótimo dia
att : Leonardo Coelho Borges
Leonardo Borges

Leonardo Borges

Responder

Posts

27/01/2010

Emerson Nascimento

onde está sendo feita a substituição de %S pelo conteúdo do parâmetro?
outra coisa: você cria o dataset e não o liga ao banco de dados e ainda assim ele executa?

Responder

27/01/2010

Leonardo Borges

Eu tenho um evendo no recordstate (insert,edit) faça faço sim as conexões com a base de dados e passo os alias por um acaso esqueci de especificar no momento em que escrevi aqui. mais considere como se todas as bases estivessem conectadas e que o parametro %S fosse TB_Produtos e mesmo assim ele não esta funcionando.
Responder

27/01/2010

Leonardo Borges

Estou aceitando qualquer outra forma de efetuar um lock
Responder

27/01/2010

Wagner Marrane

Veja se ajuda
http://social.msdn.microsoft.com/Forums/pt-BR/520/thread/718135f0-2e0c-435f-b8ab-88985f471245/
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