Fórum Qual comando sql posso usar no lugar do locate do delphi? #574083

22/01/2017

0

Olá pessoal, alguém sabe um comando em sql usando a query que melhor substitua esse código abaixo:

#if dm_dados.tblestoque.locate('est_barras', codbarras, []) then
#begin
#
#end;
Joelson

Joelson

Responder

Posts

22/01/2017

Joelson

Completando o código.
O código seria esse:
#if dm_dados.tblestoque.locate('est_barras', codbarras, []) then
#begin
#showmessage (' Produto encontrado! ');
#end
#else
#begin
#showmessgem (' Produto não encontrado! ');
#end;
Responder

Gostei + 0

22/01/2017

Raimundo Pereira

Depende os campos que você está carregando.
Se o objetivo for verificar o cadastro ou verificar o saldo de estoque.

Não vejo problemas para usar o locate, você teve algum problema significativo ?
Responder

Gostei + 0

22/01/2017

Joelson

Enquanto testei com um estoque de 3.000 itens funcionou de boa, quando testei com um estoque de 50.000 itens o retorno da resposta é bem lenta. Por isso quero usar a mesma função só que usando comandos sql, pois o retorno do resultado é mais rápido e quero usar com estoque acima de 50.000 itens. Por isso preciso de um comando sql que tenha o mesmo resultado do código abaixo. Ao clicar no botão ele executa o comando abaixo mostrando o resultado se encontrou ou não o produto.

#procedure TfrmConsultaProdutos.btn5Click(Sender: TObject);
#var codbarras: string;
#begin

#Edit1.Text:= codbarras;

#if dm_dados.tblestoque.locate(''est_barras'', codbarras, []) then
#begin

#showmessage ('' Produto encontrado! '');

#end
#else
#begin

#showmessgem ('' Produto não encontrado! '');

#end;

#end;
Responder

Gostei + 0

22/01/2017

Joelson

consertando uma parte do código.
codbarras:= Edit1.Text;
Responder

Gostei + 0

24/01/2017

Marco Antônio

Bom dia.

Utilizo o locate para essa mesma quantidade de itens e não tenho problema.

Como vc esta explorando a indexação dos campos?

Sempre que encontro problemas como esse, criar indices é sem sombra de dúvida a melhor solução.

Outra coisa. Evite utilizar select * from minhaTabela. Procure deixar na query a ser verificada apenas os campos q realmente vai precisar.

Se for de ajuda as informações passadas avisa ae.

Abc.
Responder

Gostei + 0

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

Aceitar