Ir para conteúdo
Fórum Script Brasil
  • 0

Como Usar Adoquery?


Guest - alexandre -

Pergunta

Guest - alexandre -

to fazendo um sisteminha q tem buscas com componente ADOQuery.. e não to conseguindo fazer essa busca...

sei como usar o Query no bde, achei q com ado seria =, mas não to conseguindo... tentei colocar no código da busca o "parambyname" mas no ado não funciona...

alguém tem um código de exemplo de como usar o comp. adoquery???

to usando delphi 7, bd em access, conexão ado

obrigado..

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

luceliocampoi: tem sim q passar o valor pro filter... se não tu so vai ta definindo uma propriedade sem valor... eu quando uso filter (não é MT normal utilizar) eu primeiro passo o filtered := false; ai passo o filtro depois passo o filtered := true;

sempre funcionou.. mas prefiro fazer por codigo na qry mesmo... na minha opnião é mais confiavel! biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, caras, eu to com um probleminha, tava procurando no google um exemplo pra adoquery pra mim usar numa tela de Login aqui.. achei esse exemplo, coloquei adaptei, mas encontro o seguinte erro "Nenhum valor foi fornecido para um ou mais parâmetros necessários". Alguém sabe o que pode ta causando o erro?

código:

qryLogin.Close;
  qryLogin.SQL.Clear;
  qryLogin.SQL.Add('SELECT * FROM TB_FUNCIONARIOS WHERE LOGIN = (:login) AND SENHA = (:senha)');
  qryLogin.Parameters.ParamByName('login').Value:=edtLogin.Text;
  qryLogin.Parameters.ParamByName('senha').Value:=edtSenha.text;
  qryLogin.Open;
   if qryLogin.eof then
   begin
    showmessage('Usuário não encontrado');
    edtLogin.Text:='';
    edtSenha.Text:='';
    edtLogin.SetFocus;
   end
   else
   begin
      frmMenu.ShowModal;
      close;
   end
end;

Link para o comentário
Compartilhar em outros sites

  • 0
mas encontro o seguinte erro "Nenhum valor foi fornecido para um ou mais parâmetros necessários". Alguém sabe o que pode ta causando o erro?

edtLogin.Text:='';

edtSenha.Text:='';

Voce tem que colocar valores nos edits antes de executar a SQL

exempo:

edtLogin.Text:='USERNAME';  // voce deve digitar o login e senha antes
  edtSenha.Text:='XYZ';

  qryLogin.Close;
  qryLogin.SQL.Clear;
  qryLogin.SQL.Add('SELECT * FROM TB_FUNCIONARIOS WHERE LOGIN = (:login) AND SENHA = (:senha)');
  qryLogin.Parameters.ParamByName('login').Value:=edtLogin.Text;
  qryLogin.Parameters.ParamByName('senha').Value:=edtSenha.text;
  qryLogin.Open;

   if qryLogin.Recordcount = 0  then
   begin
    showmessage('Usuário não encontrado');
    edtLogin.Text:='';
    edtSenha.Text:='';
    edtLogin.SetFocus;
   end
   else
   begin
      frmMenu.ShowModal;
      //close;
   end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Mas isso ta num evento onClick... eu coloco os valores nos campos e clico no botão e da esse erro...

eu tentei colocar os valores dos edits no click, mas continua dando o mesmo erro =/

será que pode ser alguma coisa relacionada a configuração que eu fiz no bd?

Link para o comentário
Compartilhar em outros sites

  • 0

O erro está aqui:

procedure TForm1.Button1Click(Sender: TObject);
begin
  qryLogin.Close;
  qryLogin.SQL.Clear;
  qryLogin.SQL.Append('SELECT * FROM TB_FUNCIONARIOS WHERE LOGIN = (:login) AND SENHA = (:senha)');
  qryLogin.Params.ParamByName('login').Value:=edtLogin.Text;
  qryLogin.Params.ParamByName('senha').Value:=edtSenha.text;
  qryLogin.Open;

   if qryLogin.Recordcount = 0  then
   begin
    showmessage('Usuário não encontrado');
    edtLogin.Text:='';
    edtSenha.Text:='';
    edtLogin.SetFocus;
   end
   else
   begin
      frmMenu.ShowModal;
      //close;
   end;

end;

OBS: Voce digita nos edits o login e senha, depois voce clica no botão para executar a SQL

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um teste com este codigo e está funcionando... verifique se voce modifou estas linhas

qryLogin.SQL.Append('SELECT * FROM TB_FUNCIONARIOS WHERE LOGIN = (:login) AND SENHA = (:senha)');

qryLogin.Params.ParamByName('login').Value:=edtLogin.Text;

qryLogin.Params.ParamByName('senha').Value:=edtSenha.text;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe ... foi mal .... voce esta usando ADOQuery

ADOQuery1.Parameters.ParamByName(

realmente no ado não tem Params .... refiz o teste usando o ADOQuery e está funcionando.

este erro: "Nenhum valor foi fornecido para um ou mais parâmetros necessários".

indica que voce não está passando os valores para os paramentros, tente usar o degub do delphi para achar o problema

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Hmm.. então eu suspeitava disso =P

fiz o debug aqui, e encontrei que tipo.. ele não ta adiconando as coisas nas variáveis... quando passa a linha do Sql.Add eu coloco o mouse sobre o Sql e aparece: qryLogin.Sql = ()... e a mesma coisa na linha dos parâmetros O.o

porque será que não ta alocando os dados nas variáveis? tem alguma dica?

Link para o comentário
Compartilhar em outros sites

  • 0

O código parece estar correto, eu utilizo um pouquinho diferente, mas o resultado é o mesmo, no meu código ficaria assim

qryLogin.Active:=False;
  qryLogin.SQL.Clear;
  qryLogin.SQL.Add('SELECT * FROM TB_FUNCIONARIOS where (login= :a) and (senha= :b)');
  qryLogin.Parameters.ParamByName('a').Value:=edtLogin.Text;
  qryLogin.Parameters.ParamByName('b').Value:=edtSenha.text;
  qryLogin.Active:=True;

   if qryLogin.Recordcount = 0  then
   begin
    showmessage('Usuário não encontrado');
    edtLogin.Text:='';
    edtSenha.Text:='';
    edtLogin.SetFocus;
   end
   else
   begin
      frmMenu.ShowModal;
      //close;
   end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...