Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Problemas no Exemplo do VFP em Rede
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00813668
Message ID:
00814131
Views:
8
Paulo eu costumo utilizar um ID único para todas as tabelas do sistema, ou seja um contador sequencial só. Desta forma eu tenho uma unica tabela de contador com um único campo.

Não mostro esta informação para o usuário, utilizo-a apenas para carregar chaves primárias. Faço isso com todos os bancos que eu trabalho, desde o nativo do VFP, SQL SERVER e ORACLE.




>Este código veio com o VFP 8, e vou testar com tabelas livres. No VFP 8 estou usando campos AutoInc, e tem funcionado corretamente, tenho algumas dúvidas sobre a recuperação do Id, no insert-sql, que já coloquei aqui em outra Thread.
>
>Vou fazer os testes com tabelas livres e te respondo.
>
>Obrigado pela ajuda.
>
>>Olá Paulo
>>
>>Começando pelo fim: também já tive problemas com SET DATASESSION e parei de usá-lo.
>>
>>tem algo errado no código abaixo, ele não faz um APPEND BLANK quando a lcAlias não é encontrado:
>>
>>
>>  IF SEEK(lcAlias, "Ids", "table")
>>    IF RLOCK()
>>      lnID = ids.nextid
>>      REPLACE ids.nextid WITH ids.nextid + 1
>>      UNLOCK
>>    ENDIF
>>  ENDIF
>>
>>
>>Normalmente faço assim:
>>
>>
>>  IF NOT SEEK(lcAlias, "Ids", "table")
>>     APPEND BLANK  IN Ids
>>     REPLACE table WITH lcAlias  IN Ids
>>  ENDIF
>>  IF RLOCK("Ids")
>>     lnID = ids.nextid
>>     REPLACE ids.nextid WITH ids.nextid + 1  IN Ids
>>     UNLOCK  IN Ids
>>  ENDIF
>>
>>
>>O detalhe final e que me resolveu esses problemas com transações: uso uma tabela livre para gravar os Ids, pois tabelas livres não são consideradas em transações.
>>
>>Espero que ajude
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform