[firebase-br] Record not found or changed by another user.

Henrique Sinapse suporte em sinapseinformatica.com.br
Sex Abr 22 14:50:44 -03 2005


Senhores,

Eu tenho um caso meio inexplicável. Eu tenho a seguinte estrutura de tabela no banco do Firebird:

CREATE TABLE TB_EMPRESA (
    CODEMPRESA     SMALLINT NOT NULL,
    EMPRESA        VARCHAR(30),
    RAZAO_SOCIAL   VARCHAR(60),
    ENDERECO       VARCHAR(50),
    BAIRRO         VARCHAR(20),
    CIDADE         VARCHAR(20),
    TELEFONE       DM_TELEFONE /* VARCHAR(15) */,
    FAX            DM_TELEFONE /* VARCHAR(15) */,
    CNPJ           DM_CNPJ /* VARCHAR(18) */,
    INSCRICAO      DM_INSCREST /* VARCHAR(15) */,
    CEP            DM_CEP /* VARCHAR(10) */,
    COD_ATIVIDADE  SMALLINT,
CONSTRAINT PK_TB_EMPRESA PRIMARY KEY (CODEMPRESA));

Como podem ver, somente o campo CODEMPRESA é chave. No cadastro de empresa eu uso o trio de componente SQLQUERY + DATASETPROVIDER + CLIENTDATESET. Eu selecione o campo CODEMPRESA a alterei a propriedade PROVIDERFLAGS para PfInUpdate=True, PfInWhere=True, PfInInkey=True no SQLQuery e também ClientDataSet. No DataSetProvider eu alterei a propriedade UpdateMode para upWhereKeyOnly. 

Feito tudo isso, testei o cadastro. Na inclusão eu consigo fazer direitinho. Se eu tentar alterar o registro depois de salvo dá a seguinte mensagem: "Record not found or changed by another user".

Não tem ninguém usando esse banco de dados ao não ser eu. Essa tabela não pode estar em uso. Eu não sei mais o que eu posso fazer. 

Alguém pode me ajudar.

      Carlos Henrique Meireles
      Suporte de Sistemas
      Tel.: 21 - 8115-1584 
     




Mais detalhes sobre a lista de discussão lista