Fórum Demora para atualizar #369612

04/04/2009

0

Amigos,
Uso Firebird e Mercury para conexão com o banco de dados. Tenho uma tela de orçamentos, onde o cabeçalho do orçamento esta ligado a um MDODataSet e os itens do orçamento ligado a outro MDODataSet.
Depois que crio um novo orçamento, e preciso voltar a navegação nos registros de orçamento colocar na posição do orçamento que criei.
Faço assim:
DM.MDS_ORCAM.Close;
DM.MDS_ORCAM.SelectSQL.Clear;
DM.MDS_ORCAM.SelectSQL.Add(´select * from ORCAM´);
DM.MDS_ORCAM.Open;

DM.MDS_ORCAM.Locate(´ONUM´,onum_aux,[]);

onde onum_aux é o numero do orçamento que criei, porém demora cerca de 8 segundos até voltarem os registros dos itens.

Entre itens e venda há uma relação mestre detalhe.

Por que essa demora?

Grato.


Fonsenix

Fonsenix

Responder

Posts

05/04/2009

Dbergkamps10

olá,
kra se vc estiver usando em redes, verifique se no caminho esta o nome da maquina, se estiver coloque o ip, pode ser q fique mais rapido.

Att
Dalton


Responder

Gostei + 0

05/04/2009

Picyka

Amigo, existe formas diferentes de fazer isso vo sitar duas que tenho certeza que ficara bem mais rapido, crie um indice na client e trabalhe com o FINDKEY, outra maneira ainda mais rapida ao invés de vove buscar todos os registros da tabela pedido busque penas oque vc crio
passando o pedido la em cima no sql
fazendo um where

tenho certeza que as duas formas terá resultado.


Responder

Gostei + 0

05/04/2009

Fonsenix

olá, kra se vc estiver usando em redes, verifique se no caminho esta o nome da maquina, se estiver coloque o ip, pode ser q fique mais rapido. Att Dalton


Então Dalton, já uso com o ip, valeu pela dica.

Amigo, existe formas diferentes de fazer isso vo sitar duas que tenho certeza que ficara bem mais rapido, crie um indice na client e trabalhe com o FINDKEY, outra maneira ainda mais rapida ao invés de vove buscar todos os registros da tabela pedido busque penas oque vc crio passando o pedido la em cima no sql fazendo um where


Picyka, infelizmente acho que o MDO não tem a função FindKey, e quanto buscar somente o registro que inseri não dá certo porque assim que o usuário acabar de inserir, eu devo deixar os registros disponiveis para consulta onde o usuario com as setas move-se pelos registros.


Responder

Gostei + 0

05/04/2009

Dbergkamps10

Olá,
Verifique entao se o MDO tem a funçao Locate. Funciona quase da mesma forma:
MDO.Locate(NomedoCampo,NomedaChave, [lopartialkey]);

nao esquece de colocar na clausula uses a unit DB.

Espero ter ajudado.

Att
Dalton


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar