Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Problemas no Exemplo do VFP em Rede
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00813668
Message ID:
00814131
Vues:
9
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform