Fala ai Radizeiros e Radizeiras, tudo bem com vocês?
Quando trabalhamos com banco de dados devemos ter maior controle e flexibilidade para o seu manuseio.
Nos dias atuais estamos vendo sobre a Lei de proteção de dados, e isso tem mudado e muito a rotina de muitos desenvolvedores e empresas.
E o grau de preocupação com o banco de dados aumentou consideravelmente.
E em falar em trabalhar com o banco de dados a Embarcadero disponibiliza o Firedac, uma ferramenta espetacular com diversos recursos que podem nos ajudar essas transições e seguranças.
Em nossa série sobre Dominando o Firedac, temos alguns pontos que estarei tratando com vocês que sei que irá lhe ajudar muito em seu dia a dias.
O Firedac existem diversas coisas que podemos fazer com ele, como por exemplo o ExecSQLScalar.
Muitas coisas não precisamos necessariamente de um FDQuery, não precisamos sujar nossos projetos com diversos componentes para algumas ações específicas.
O ExecSQL por si só não retorna nada, pois se eu der um SELECT não irá retornar nenhum conjunto de dados.
Mas o ExecSQLScalar serve exatamente para que você consiga retornar apenas uma informação diretamente do seu banco de dados.
Tem algo no banco de dados que você quer buscar, como por exemplo, o ID de algum registro, o nome de algum cliente, ou o valor de um produto, somente um valor específico.
E somente uma coisa apenas que você deseja buscar dentro do banco, você não precisa ficar utilizando um FDQuery, você pode utilizar essa opção do ExecSQLScalar para trazer esses dados para você.
Então vamos ao nosso exemplo, onde iremos construir um exemplo bem simples para que você consiga compreender.
Vamos adicionar 2 edits na tela, e mais um botão para executar essa ação.
Observe que o método ExecSQLScalar, e observe a imagem abaixo que passamos para ele um parâmetro e ele retorna uma variant.
Iremos pegar um registro especifico da tabela customers.
Observe no código abaixo que estamos trabalhando com parâmetro, e passamos o parâmetro para o ExecSQLScalar após a instrução sql dentro de um array de dados.
procedure TForm1.Button3Click(Sender: TObject); begin FDConnection1.ExecSQLScalar( 'select companyname from customers where customerid=:ID',[StrToInt(Edit1.text]); end;
Observe que estou executando o ExecSQLScalar com o SQL onde retorno o nome, passando pelo parâmetro o id.
Como o retorno da informação é diretamente desse comando, eu irei passar esse retorno para o edit2.
procedure TForm1.Button3Click(Sender: TObject); begin edit2.text := FDConnection1.ExecSQLScalar( 'select companyname from customers where customerid=:ID',[Edit1.text]); end;
Observe que não preciso de FDQuery, não preciso de mais nada, simplesmente irá receber o retorno diretamente da conexão.
Vamos executar agora, e vamos escolher um id da imagem da nossa tabela de customers.
Muito legal não é pessoal?
De forma simples e prática fizemos uma busca dentro do banco de dados sem ter que colocar diversos FDQuery num DataModule.
Esse é um post é mais um dos conteúdos do maior clube de conteúdos Delphi.
E caso você tenha interesse de conhecer mais sobre PPL acessa o nosso portal do CLUBE DE PROGRAMADORES EM DELPHI, onde você não só terá conteúdos relacionados aos generics, mas uma quantidade enorme de conteúdos que poderá lhe ajudar muito no seu dia a dia, é uma verdadeira NETFLIX para os programadores Delphi.
CLIQUE AQUI E SAIBA MAIS SOBRE O CLUBE DOS PROGRAMADORES DELPHI