TPHQuery

Revisão de 08h49min de 24 de julho de 2025 por Endrio.korb (discussão | contribs) (Procedimentos)

O objeto TPHQuery permite executar comandos SQL (consulta, inserção, atualização ou exclusão) e manipular os dados retornados. Ele funciona como um cursor que percorre os registros do banco de dados.

Propriedades

Nome Tipo Descrição
RecNo Inteiro Indica a posição atual do registro no conjunto de resultados
RecordCount Objeto Retorna a quantidade total de registros obtidos pela consulta
Eof Booleano Indica se o cursor atingiu o fim do conjunto de registros
Vazia Booleano Indica se a consulta não retornou nenhum registro

Procedimentos

  • Add: Adiciona linha de comando SQL ao objeto.
  • ClassName: Retorna o nome da classe do objeto.
  • Clear: Limpa todo o SQL adicionado ao objeto.
  • Close: Fecha o conjunto de resultados da consulta.
  • Edit: Habilita edição do registro atual.
  • ExecSQL: Executa um comando SQL que não retorna registros (INSERT, UPDATE, DELETE).
  • FieldByName('Campo'): Retorna o valor do campo especificado da linha atual.
  • First: Move o cursor para o primeiro registro.
  • Free: Libera a memória ocupada pelo objeto.
  • Insert: Insere um novo registro no dataset(modo edicação).
  • Last: Move o cursor para o último registro.
  • Next: Move o cursor para o próximo registro do conjunto de resultados.
  • NovoRegistro: Cria um novo registro.
  • Open: Executa a consulta SQL (geralmente SELECT) e abre o conjunto de registros para leitura.
  • ParamByName(String): Atribui o parâmetro a query.
  • Post: Salva as alteraões feitas no registro atual.
  • Prior: Move o cursor para o registro anterior.
  • Salvar: Salva as alterações pendentes.

Exemplo

 procedure EnviarEmail;
 var
   Consulta:TPHQuery;                                           
 begin
   Consulta:= NewPHQuery;
   try
     Q.Add('SELECT NOME '+
           'FROM MUNICIPIOS '+
           'WHERE ID = 1');
     Q.Open;
                         
     Informacao(Q.FieldByName('NOME').AsString;               
   finally
     Consulta.Free;                                        
   end;            
 end;