Olá pessoal alguém sabe fazer consulta usando edit sem colocar o asterisco. segue o que to usando hoje
Olá pessoal alguém sabe fazer consulta usando edit sem colocar o asterisco. segue o que estou usando hoje
desta forma veja que esta lento, como o sistema esta em rede, e as vez trava.
query_bproduto.Close;
query_bproduto.SQL.Clear;
query_bproduto.SQL.Add('select * from produto where cbarra =:cbarra');
query_bproduto.ParamByName('cbarra').Value := edtcodbarras.Text;
query_bproduto.Open;
desta forma veja que esta lento, como o sistema esta em rede, e as vez trava.
query_bproduto.Close;
query_bproduto.SQL.Clear;
query_bproduto.SQL.Add('select * from produto where cbarra =:cbarra');
query_bproduto.ParamByName('cbarra').Value := edtcodbarras.Text;
query_bproduto.Open;
Gilson
Curtidas 0
Respostas
Emerson Nascimento
14/07/2022
você tem um índice pelo campo cbarra na tabela produto?
o uso do asterisco não é recomendado, mas no teu caso não deveria ser causa de lentidão, visto que há apenas uma tabela na pesquisa.
de qualquer modo, se o dataset query_bproduto servir apenas para saber se o produto existe, você pode fazer assim:
o uso do asterisco não é recomendado, mas no teu caso não deveria ser causa de lentidão, visto que há apenas uma tabela na pesquisa.
de qualquer modo, se o dataset query_bproduto servir apenas para saber se o produto existe, você pode fazer assim:
query_bproduto.Close; query_bproduto.SQL.Clear; query_bproduto.SQL.Add('select cbarra from produto where cbarra = :cbarra'); query_bproduto.ParamByName('cbarra').Value := edtcodbarras.Text; query_bproduto.Open;
GOSTEI 0
Gilson
14/07/2022
você tem um índice pelo campo cbarra na tabela produto?
o uso do asterisco não é recomendado, mas no teu caso não deveria ser causa de lentidão, visto que há apenas uma tabela na pesquisa.
de qualquer modo, se o dataset query_bproduto servir apenas para saber se o produto existe, você pode fazer assim:
o uso do asterisco não é recomendado, mas no teu caso não deveria ser causa de lentidão, visto que há apenas uma tabela na pesquisa.
de qualquer modo, se o dataset query_bproduto servir apenas para saber se o produto existe, você pode fazer assim:
query_bproduto.Close; query_bproduto.SQL.Clear; query_bproduto.SQL.Add('select cbarra from produto where cbarra = :cbarra'); query_bproduto.ParamByName('cbarra').Value := edtcodbarras.Text; query_bproduto.Open;
obrigado por responder; Emerson Nascimento.
na verdada esta é a instrução;
***(busca por codigo de barras)**
query_bproduto.Close;
query_bproduto.SQL.Clear;
query_bproduto.SQL.Add('select * from produto where cbarra =:cbarra');
query_bproduto.ParamByName('cbarra').Value := edtcodbarras.Text;
query_bproduto.Open;
if query_bproduto.recordcount = 1 then
begin
**quando encontra*
vem pra cá edtProduto.Text := query_bproduto['produto'];
que é a instração 2
query_bproduto.Close;
query_bproduto.SQL.Clear;
query_bproduto.SQL.Add('SELECT * from produto where produto =:produto');
query_bproduto.ParamByName('produto').Value := edtproduto.Text;
query_bproduto.Open;
if not query_bproduto.isEmpty then
begin
edtProduto.Text := query_bproduto['produto'];
edtPreco.Text := query_bproduto['vvenda'];
edtund.Text := query_bproduto['und'];
idProduto := query_bproduto['id'];
edtPreco.text:= query_bproduto['vvenda'];
as vezes trava quando está em rede, são dois método, pois o segundo busca pelo nome do produto, para colocar na grid.
GOSTEI 0
Emerson Nascimento
14/07/2022
só vai funcionar se os campos NÃO estiverem persistidos em query_bproduto...
pra melhorar a performance é bom ter um índice pelo campo cbarra e outro pelo campo produto
query_bproduto.Close; query_bproduto.SQL.Text := 'select produto from produto where cbarra = '+QuotedStr(edtcodbarras.Text); query_bproduto.Open; if not query_bproduto.IsEmpty then // aqui não importa a qtde de registros; somente se encontrou algum registro begin //quando encontra //vem pra cá edtProduto.Text := query_bproduto['produto']; query_bproduto.Close; query_bproduto.SQL.Text := 'SELECT * from produto where produto = '+QuotedStr(edtproduto.Text)); query_bproduto.Open; if not query_bproduto.isEmpty then begin edtProduto.Text := query_bproduto['produto']; edtPreco.Text := query_bproduto['vvenda']; edtund.Text := query_bproduto['und']; idProduto := query_bproduto['id']; edtPreco.text:= query_bproduto['vvenda']; end; end;
GOSTEI 0