Clipper On Line • Ver Tópico - Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Mensagempor asimoes » 04 Fev 2016 16:42

Pessoal,

A questão é para o driver DBFCDX tanto para HBNETIO/LETODB onde encontrei comportamento diferente para os dois gerenciadores.

O comando SET AUTOPEN ON faz com que o indice do dbf seja aberto automaticamente sem a necessidade de SET INDEX TO (CDX)

Funciona tanto com HBNETIO/LETODB notei a seguinte diferença:

Tenho uma rotina onde eu preciso criar indices temporários para uma tabela que já tem um indice.

Antes de criar o indice faço:

AbreDbf("APC01")

APC01->(ordListClear())

INDEX ON Codigo TAG IND001 FOR Empty(D_Deslig) .AND. !Deleted() MEMORY ADDITIVE

Com hbnetio o indice é acrescentado aos indices que já existem, ou seja o ordlistclear não funcionou.
Com letodb funciona o ordlistclear somente o indice ind001 está na área de trabalho do dbf
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4154
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Mensagempor asimoes » 04 Fev 2016 17:15

Exemplificando:

Sem letodb/hbnetio

         SET AUTOPEN ON
         fErase("TESTDBF.CDX")
         aStruct:={}
         aAdd(aStruct, {"CODIGO", "C", 5, 0})
         aAdd(aStruct, {"NOME", "C", 30, 0})
         DbCreate( "TESTDBF", aStruct, "DBFCDX",.T., "TESTDBF" )
         INDEX ON CODIGO TAG CODIGO TO TESTDBF
         INDEX ON NOME   TAG NOME   TO TESTDBF
         TESTDBF->(DbCloseArea())
         DbUseArea(.T., "DBFCDX", "TESTDBF", "TESTDBF", .T.)
         TESTDBF->(ordListClear())
         INDEX ON Codigo                                 TAG IND001  FOR !Deleted() MEMORY ADDITIVE
         INDEX ON Codigo + Nome                          TAG IND002  FOR !Deleted() MEMORY ADDITIVE
         FOR I:=1 TO TESTDBF->(OrdCount())
             ? TESTDBF->(OrdName(i)), TESTDBF->(OrdKey(i))
             inkey(0)
         NEXT
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4154
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Mensagempor asimoes » 04 Fev 2016 18:15

Testando, ser usar SET AUTOPEN ON ordListClear() não funciona isso com hbnetio, com letodb funciona.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4154
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Mensagempor JoséQuintas » 05 Fev 2016 01:07

Se não me engano, autoopen não é recomendado.
Aqui sempre usei com ele desligado, mesmo com Clipper e SIXCDX.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11533
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 736 vezes

Diferença de comportamento com SET AUTOPEN ON hbnetio/letodb

Mensagempor asimoes » 05 Fev 2016 07:56

Quintas,

O interessante é que com letodb funciona! sem o autopen tem que especificar o indice com SET INDEX TO
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4154
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro