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

(Resolvido) Erro em consulta!


ZueRa

Pergunta

Boa noite pessoal.

Bom, estou tendo um probleminha em minha consulta SQL.

O programa em que ela está inserida se baseia no seguinte:

o usuário seleciona o cliente X, clica em adicionar observações, depois escreve uma observação qualquer e salva. (vamos supor que este registro fique salvo com o código 10).

Após isto ele seleciona outro cliente, o cliente Y e pesquisa alguma observação dele, porém, ao colocar o código 10 ele retorna as observações do Cliente X.

Este é o porém: eu quero que ele me mostre apenas os resultados provenientes do cliente Y (ou qualquer um que o usuário selecionar). Só que, ele me mostra os registros de qualquer um.

Se eu estiver com o cliente N selecionado e procurar informações do cliente X ele vai me mostrar.

Como posso resolver isto?

Estou fazendo assim:

begin
    Dmdados.Qaddobs.Close;
    Dmdados.Qaddobs.SQL.Clear;
    Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg as c, cfgc as f where f.Codigo ='+ QuotedStr(Edconsobs.Text) +' and c.Nfunc ='+ QuotedStr(Fprogram.DBEdit2.Text);
      end;

Obrigado por hora,

Thiago.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
o usuário seleciona o cliente X, clica em adicionar observações, depois escreve uma observação qualquer e salva. (vamos supor que este registro fique salvo com o código 10).

Após isto ele seleciona outro cliente, o cliente Y e pesquisa alguma observação dele, porém, ao colocar o código 10 ele retorna as observações do Cliente X.

Supondo que o seu campo código não tenha numero repetido é lógico que ao colocar o código 10 ele retorna as observações do Cliente X. Se porem voce colocasse 11 iria ser outro registro ( Cliente Y por exemplo )

isso é facil de verificar

Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg where Codigo = Edconsobs.Text';

se código for numerico

Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg where Codigo = strtoint(Edconsobs.Text)';

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Jhonas.

Mas, veja bem, eu quero que se eu colocasse o código de outro cliente que não seja o que esteja selecionado no momento, não retornasse nada.

Exemplo:

cliente x selecionado - digitei o código 20 (que é o código da observação do cliente Y) : não retornasse nada.

Porém, ele retorna.

É isto que estou tentando explicar,

se puder ajudar, agradeço.

Thiago.

Editado por ZueRa
Link para o comentário
Compartilhar em outros sites

  • 0
Mas, veja bem, eu quero que se eu colocasse o código de outro cliente que não seja o que esteja selecionado no momento, não retornasse nada.

Exemplo:

cliente x selecionado - digitei o código 20 (que é o código da observação do cliente Y) : não retornasse nada.

Porém, ele retorna.

Vamos ver se entendi.... voce tem o cursor em um determinado registro ( registro selecionado ) e se voce digitar num campo de pesquisa um outro código voce não quer trazer os dados desse outro cliente ...seria isto ? mas seria algo meio incoerente não acha ?

[Mas, veja bem, eu quero que se eu colocasse o código de outro cliente que não seja o que esteja selecionado no momento, não retornasse nada.]

a lógica é que se voce digitar um outro código é porque voce quer trazer dados de outro cliente ... certo ?

ou ainda não entendi extamente o que voce está querendo.

de qualquer modo veja isto:

Como usar SQL no Delphi

Tutorial para quem esta iniciando em Delphi e precisa usar SQL para consultas em BD

http://tutomania.com.br/file.php?cod=3155

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Vamos ver se entendi.... voce tem o cursor em um determinado registro ( registro selecionado ) e se voce digitar num campo de pesquisa um outro código voce não quer trazer os dados desse outro cliente ...seria isto ? mas seria algo meio incoerente não acha ?

Seria exatamente isto.

Só para esclarecer mais um pouco:

o programa que estou fazendo tem um form para cadastro/pesquisa de funcionários e outro para cadastro/pesquisa de observações.

Vamos supor que eu abra o programa, seleciono o funcionário Thiago. Vou para a parte de observações e cadastro uma observação, esta vai ser registrada no código 35.

Agora eu vou para a parte de cadastro/pesquisa de funcionários, seleciono outro, o funcionário Flávio. Vou para o form de cadastro/pesquisa de observações, e coloco o código 35. (era para se eu pesquisar qualquer código que não seja o do funcionário Flávio desse erro, porém, ele retorna dados de outros funcionários).

Entende?

Grande abraço e obrigado por enquanto.

P.S: o SQL que postei está errado?

Editado por ZueRa
Link para o comentário
Compartilhar em outros sites

  • 0
o programa que estou fazendo tem um form para cadastro/pesquisa de funcionários e outro para cadastro/pesquisa de observações.

Pelo que eu entendi voce criou 2 tabelas ? se for o erro pode estar ai .... caso contrario se for apenas uma tabela

este código sql

Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg where Codigo = strtoint(Edconsobs.Text)';

deveria trazer apenas um registro para voce, já que está definido os campos Codigo, Nfunc, Obsregistro

entretanto como voce disse que criou um form para cadastro/pesquisa de funcionários e outro para cadastro/pesquisa de observações, talvez o erro esteja em como voce esta pesquisando em um form e no outro.

fica sempre mais facil reponder se voce colocar o código do seu programa... como voce esta fazendo a pesquisa no form cadastro/pesquisa de funcionários e no outro para cadastro/pesquisa de observações

[P.S: o SQL que postei está errado?]

dependendo de como voce quer usa-lo pode não ser a maneira correta.

abraço

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...