Atualizar apenas 1 registro

Delphi

02/09/2010

Olá a todos,   Uso Banco SQL Express com Conexão DBExpress.   Tenho um Select simples com left join. Até ai tudo bem.   O que acontece é que quando dou um apply em 1 registro e clico no botão de imprimir pedido, o campo do left join não aparece. Eu preciso sair do form e entrar de novo para atualizar.   Também dei um   TClientDataSet(DBGrid.DataSource.DataSet).Refresh. Dessa forma funciona, porém ele atualiza a tabela inteira e posiciona o ponteiro no primeiro registro.   Pensei em criar um bookMark e depois voltar para o registro, mas isso em 1 tabela grande não deixaria o processo lento?     Gostaria de saber como vocês contornariam esse problema.   Aguardo,
Carlos Júnior

Carlos Júnior

Curtidas 0

Respostas

João Sobrinho

João Sobrinho

02/09/2010

Colega, pesquise sobre RefreshRecord, deve resolver o problema.
GOSTEI 0
Carlos Júnior

Carlos Júnior

02/09/2010

Já tentei usar o refreshRecord, mas naum resolveu   Aguardo,
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

02/09/2010

Você tem na sua tela um campo que no seu sql ele resulta de um left join e quando você atualiza este campo some, se for isso eu nunca tive problemas com a atualização e este campo não pode sumir, se você configurar a propriedade providerFlags corretamente, tanto para o sqldataset ou sqlquery e clientdataset corretamente. Para campos que vem de um left join, as subpropriedades de providerFlags(pfInfKey, pfWhere,pfUpdate, pfHiden, devem estar todas False) tanto para o sqldataset ou sqlquery e clientdataset.
GOSTEI 0
POSTAR