Clipper On Line • Ver Tópico - ADO - Reindexar
Mudar para estilo Clássico
Discussão sobre SQL
Postar uma resposta

ADO - Reindexar

19 Jul 2016 17:00

Boa tarde a todos,
Estou com um problema que não achei solução em lugar algum, estou inserindo um registro em uma tabela DBF utilizando ADO porém quando termino a gravação do registro, esse registro não aparece em consulta, mas está lá na base gravado certinho, só aparece quando deleto o indice e entro novamente no sistema, eu digo na consulta convencional com DBF mesmo, no ADO eu consulto e ele aparece, alguém sabe resolver isso?

Grato

ADO - Reindexar

29 Jul 2016 11:48

Está olhando errado.
Não tem nada a ver com ADO.

Está gravando no DBF e o índice não é atualizado.
Quando grava, o índice está aberto?
Se não estiver aberto, não atualiza.

ADO - Reindexar

29 Jul 2016 13:08

estou inserindo um registro em uma tabela DBF utilizando ADO


Só depois dei atenção a este detalhe.
Mas a resposta é a mesma.

O ADO não precisa de índices pra funcionar.
Ele pode ou não abrir os índices automaticamente, tudo depende do ODBC usado reconhecer que existem os índices.
Vai ter que pesquisar sobre o que está usando.

Não lembro mais se no Clipper criava os índices com AUTOOPEN on (com a SIXCDX).
Só lembro que no ADS precisava indicar o índice DBFCDX compatível.
Usava isto no VB6 pra acessar simultâneo com CLipper 5.2 + SIXCDX

Código:
Case "ADSLOCAL"
    cString = "Provider=Advantage.OLEDB.1;" & _
    "Mode=Share Deny None;" & _
    "Show Deleted Records in DBF Tables with Advantage=False;" & _
    "Data Source=" & Sistema.PathDefault & ";Advantage Server Type=ADS_Local_Server;" & _
    "TableType=ADS_CDX;Security Mode=ADS_IGNORERIGHTS;" & _
    "Lock Mode=Compatible;" & _
    "Use NULL values in DBF Tables with Advantage=True;" & _
    "Exclusive=No;Deleted=No;"
Postar uma resposta