Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Uso de Tabelas versoes anteriores
Message
De
28/04/2002 11:26:02
 
 
À
26/04/2002 15:05:05
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00649762
Message ID:
00650133
Vues:
28
Bom dia, Walney.

Pelo que entendí é só você asteriscar a linha onde abre as tabelas, visto que agora elas são abertas pelo DataEnvironment.

em FoxPro 2.6 eu abria as tabelas no proprio .prg e os indices e também as relaçoes mais agora estou usando ambiente de dados a pergunta é como converter estes .prg´s antigos para o VFP 6.0 ? pois são mais de 500

Já que você está usando OOP creio que terá que dar uma enxugada nos seus PRGs jogando-os nos métodos das classes. Falo de dar uma enxugada porque sabe, né? programas antigos sempre tem umas coisas que não são mais necessárias, então é interessante aproveitar o memento pra ver aquelas "tonguras" que a gente faz pelo meio do código.

Quanto ao Ambiente de Dados minha sugestão é que você não o utilize, pois apezar do conceito de bufferização suas tabelas ficarão o tempo todo abertas e uma queda de energia, problema em rede, tudo isso acaba gerando problema pra gente.

Assim sugiro que você abra os seus arquivos por SELECT-SQL jogando os dados em cursores e fechando em seguida a tabela física - sua aplicação trabalha com o cursor e a tabela física fica fechada. Desta maneira se alguém quiser desligar o micro com o sistema aberto, que desligue. Isso não te dará nenhum problema.
O VFP7 consegue escrever em cursores como se fosse uma tabela, assim depois de o usuário mexer à vontade no cursor, quando ele clicar em GRAVAR, você passa as alterações pra tabela física.

Seria mais ou menos assim:
* Abertura da tabela:
Select * from Clientes where Codigo = 1 into cursor curClientes
Use in Clientes && fechou a tabela pra não ficar dependendo da boa sorte

<n>* Alterações do usuário:</n>
Mexeu, mexeu, mexeu... pode até desligar o micro com o sistema aberto!

<n>* Clique do botão Salvar:</n>
Begin Tansaction
Update Clientes set Nome = curClientes.Nome, Fone = curClientes.Fone where Codigo = 1
End Tansaction
<n>* No caso de inserir um registro novo:</n>
Begin Tansaction
Inset into Clientes (Nome, Fone) values (curClientes.Nome, curClientes.Fone)
End Tansaction
<i>Obviamente o código é um contador automático que está na StoreProcedure do Banco.</i>
Tenho sistemas que, hoje, trabalham com Ambiente de Dados. E estou alterando tudo pra esse modelo que te expliquei acima.

O ideal é que você tenha uma classe pra trabalhar com os dados e, nela, você coloque os Metodos que façam as operações que você precisar.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform