Repetição de Registros
Tenho um dbgrid que lista os registros de uma tabela.
Estou tendo problemas com este dbgrid, pois quando é feito a navegação pelos registros, no meio da tabela são mostrados os registros duplicados, apesar de que, ao olhar os dados diretamente na tabela estes registros não estão duplicados.
Existe alguma configuração que deve ser feita, relacionada a tamanho de buffer?
Estou utilizando o Delphi 6 + Firebird 1.5 + TSQLConection + TSQLDataSet + TDataSetProvider + TClientDataSet + TDataSource
Estou tendo problemas com este dbgrid, pois quando é feito a navegação pelos registros, no meio da tabela são mostrados os registros duplicados, apesar de que, ao olhar os dados diretamente na tabela estes registros não estão duplicados.
Existe alguma configuração que deve ser feita, relacionada a tamanho de buffer?
Estou utilizando o Delphi 6 + Firebird 1.5 + TSQLConection + TSQLDataSet + TDataSetProvider + TClientDataSet + TDataSource
Daaneto
Curtidas 0
Respostas
Daaneto
02/11/2004
Pessoal, ainda estou tendo problemas com a listagem destes registros.
Esta tabela tem atualmente uns 5000 registros, antes tinha colocado no ClientDataSet um PacketRecords=1000.
Já realizei testes com vários tamanhos, o que melhorou substancialmente o problea, mas não solucionou.
Agora PacketRecords está igual a 1 e está sendo exibido apenas os primeiros registros como sendo duplicados.
Há alguma configuração adicional que deva ser realizada?
Esta tabela tem atualmente uns 5000 registros, antes tinha colocado no ClientDataSet um PacketRecords=1000.
Já realizei testes com vários tamanhos, o que melhorou substancialmente o problea, mas não solucionou.
Agora PacketRecords está igual a 1 e está sendo exibido apenas os primeiros registros como sendo duplicados.
Há alguma configuração adicional que deva ser realizada?
GOSTEI 0
Osocram
02/11/2004
coloque no sql do TSQLDataSet
select distinct
ou post aqui o seu sql pod ser q esta faltando alguma comparacao
select distinct
ou post aqui o seu sql pod ser q esta faltando alguma comparacao
GOSTEI 0
Daaneto
02/11/2004
A solução que encontrei foi colocar um PacketRecords com um número bem maior que o previsto de registros. Estão sendo esperados 10.000 e coloquei 50.000. Acho que não deve estar certo, mas está funcionando.
Em relação ao distinct row, no banco não é repetido os registros, mas apenas na exibição pelo grid.
Em relação ao distinct row, no banco não é repetido os registros, mas apenas na exibição pelo grid.
GOSTEI 0
Osocram
02/11/2004
isso esta realmente estranho... PacketRecord tem outra funcao... q eh d trazer os registros num pacote... e vc determinar o tamanho deste pacote....
se vc puder postar o seu sql aqui.. agente pod tentar ajudar.
se vc puder postar o seu sql aqui.. agente pod tentar ajudar.
GOSTEI 0
Daaneto
02/11/2004
Segue a instrução SQL:
Estou utilizando um SQLConection + SQLDataSet (que contém este SQL) + DataSetProvider + ClientDataSet + DataSource
SELECAO é o nome da tabela que tem os registros que aparecem no grid duplicados, mas indo olhar no banco não estão repetidos.
"select * from SELECAO"
Estou utilizando um SQLConection + SQLDataSet (que contém este SQL) + DataSetProvider + ClientDataSet + DataSource
SELECAO é o nome da tabela que tem os registros que aparecem no grid duplicados, mas indo olhar no banco não estão repetidos.
GOSTEI 0
Osocram
02/11/2004
ihhhh
Enton tah dificil achar o prob.
Bom uma coisa q vc poderia testar eh usar o SQLQuery no lugar do SQLDataset
Enton tah dificil achar o prob.
Bom uma coisa q vc poderia testar eh usar o SQLQuery no lugar do SQLDataset
GOSTEI 0
Maxadens
02/11/2004
Amigo
Tenta excluir os componentes e fazer novamente. Isso ja resolvei alguns problemas meus.
Tenta excluir os componentes e fazer novamente. Isso ja resolvei alguns problemas meus.
GOSTEI 0