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

Resultado De Uma Query A Uma Variavel


Carlos Rocha

Pergunta

Ola Pessoal,

Tenho o código abaixo, que entrega o resultado de uma query a uma ComboBox.

Como eu faço para entregar o resultado dessa query a uma variavel?

ZQueryBusca.Close; 
ZQueryBusca.SQL.Clear; 
ZQueryBusca.SQL.Add('Select * From Clientes'); 
ZQueryBusca.Open; 

ZQueryBusca.first; 
while not ZQueryBusca.EOF do 
begin 
ComboBoxNome.Items.Add(VarToStr(ZQueryBusca.Fields[1].value)); 
ZQueryBusca.Next; 
end; 
Tenho que adaptar o código abaixo aonde a variavel 'Nome' recebe inicialmente valor vazio, Eu quero que ela receba o resultado da query do codigo acima.
procedure TFormAlteraClientes.ButtonProcurarClick(Sender: TObject);
var
 Nome:String;
begin
//Nome := ''; // inicia definindo uma string vazia(quero entregar o resultado da query)
if InputQuery('Procurar', 'CliNome', Nome) then
if not zTableClientes.Locate('CliNome', Nome, [loCaseinsensitive, loPartialKey]) then
 ShowMessage('Nome não encontrado!');
end;

O codigo anterior, entrega o resultado da query pra ComboBox quero tirar a ComboBox e entregar o resultado da query pra variavel.

Outra Coisa: esta busca não é tem a propriedade loCaseinsensitive se tiver como gostaria que tivesse....

Muito obrigado a todos e um grande abraço!!!!!!!!!!!!!!!

Como entregar o resultado de uma query a uma variavel?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá,

Para você pegar o valor pode usar:

Varivael:=ZQueryBusca.FieldByName('CAMPO').AsString;

Outra Coisa: esta busca não é tem a propriedade loCaseinsensitive se tiver como gostaria que tivesse....

Peguei no Help do Delphi

loCaseInsensitive: Key fields and key values are matched without regard to case.

loPartialKey: Key values can include only part of the matching key field value; for example, 'HAM' would match both 'HAMM' and 'HAMMER.'

Abs.

Kiko

Link para o comentário
Compartilhar em outros sites

  • 0

O problema é que desse jeito, é mostrado na janelinha de busca, apenas o primeiro resultado da query, e o que eu preciso, é que a cada letra que eu digitar na janelinha de busca, seja feita uma busca na tabela e se houver um nome la que começe com essas letras, o resto do nome seja completado automticamente na janelinha de busca como acontece na combobox.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá,

Eu uso esse código em um Edit, mas dá para você usar em um combo!

Coloque no Evento OnChange

var Aux : integer;

begin
 with ADOQryForn do
 begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT * FROM TblAtivoImobilizado');
  Open;
 end;
// Estou copiando somente o conteudo até a posição do cursor.
// Note os parametros do locate. Estou passando que a busca é sem checagem de caixa alta/baixa e resultados parciais servem. Estou usando a base NorthWind do SQL server.
if ADOQryForn.Locate('Fornecedor',copy(EditFornecedor.Text,1,EditFornecedor.SelStart),[loCaseInsensitive,loPartialKey]) then
 begin
 EditFornecedor.OnChange := nil; // Não queremos ativar o evento agora.
 Aux := EditFornecedor.SelStart; // Posição do cursor no editFornecedor
 EditFornecedor.Text := ADOQryForn.FieldByName('Fornecedor').AsString; // Foi o que encontramos pois o codigo só passa por aqui se existe a informação
 EditFornecedor.SelStart := Aux; // Atualizamos a posição do cursor.
 EditFornecedor.OnChange := EditFornecedorChange; // Agora podemos chamar novamente.
 end;
 ADOQryForn.Close;
end;

Abs.

Kiko

Link para o comentário
Compartilhar em outros sites

  • 0

Opa kiko, depois de fazer os testes é que fui perceber que o código é o mesmo.

Vela só:

A busca faz certo, o update tambem, mas, depois do upate, quando o cursor deveria voltar pro combobox nome novamente, ta dando um erro(que parece ser na busca).. ve só

Can not retrieved resultset data.

já procurei a ner pra la e pra ca e nada..

me ajua aí mano..

Um abraço

Carlos Rocha

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...