Qual comando sql posso usar no lugar do locate do delphi?

Delphi

22/01/2017

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

Curtidas 0

Respostas

Joelson

Joelson

22/01/2017

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;
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

22/01/2017

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 ?
GOSTEI 0
Joelson

Joelson

22/01/2017

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;
GOSTEI 0
Joelson

Joelson

22/01/2017

consertando uma parte do código.
codbarras:= Edit1.Text;
GOSTEI 0
Marco Antônio

Marco Antônio

22/01/2017

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.
GOSTEI 0
POSTAR