ADO - Reindexar

Forum sobre SQL.

Moderador: Moderadores

Riggns
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 31 Mai 2010 09:34
Localização: Cianorte-PR

ADO - Reindexar

Mensagem 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
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

ADO - Reindexar

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

ADO - Reindexar

Mensagem 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;"
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder