Página 1 de 1

ADO - Reindexar

Enviado: 19 Jul 2016 17:00
por Riggns
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

Enviado: 29 Jul 2016 11:48
por JoséQuintas
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

Enviado: 29 Jul 2016 13:08
por JoséQuintas
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: Selecionar todos

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;"