Lazarus - Acessando banco de dados com SQLdb - Parte III

Lazarus - Acessando banco de dados com SQLdb - Parte III: "Muita coisa mudou no Lazarus desde que começamos a dedicar este blog à divulgação deste poderoso IDE. Quando iniciamos usávamos a versão 0.9.28 e publicamos dois artigos voltados para o uso do conjunto de componentes SQLdb:



Lazarus - Acessando banco de dados com SQLdb - Parte I

Lazarus - Acessando banco de dados com SQLdb - Parte II



Hoje estamos com a versão 0.9.31. Neste post iremos apresentar algumas mudanças para melhor na utilização desses componentes.



Referências aos campos de uma tabela - criação de TFields



Para criar os TFields ainda é necessário que a TSQLQuery esteja ativa. Dê um duplo clique na TSQLQuery e você verá uma janela como esta:



Esta janela oferece uma barra de ferramentas bastante intuitiva. O botão adicionar irá abrir uma nova janela onde você poderá selecionar os campos da tabela que se deseja adicionar - pressionando o botão Create. O botão novo campo permite criar um campo de dado, calculado ou lookup. O uso desse botão irá abrir a seguinte janela:

Aqui você escolhe o tipo do campo em Field Type. Em Field properties podemos definir os valores das propriedades do campo. Depois confirme pressionando Ok. Esteja sempre atento que as tabelas envolvidas na criação dos campos devem estar abertas.

Note também que esse procedimento irá criar variáveis do tipo TField, que podem ser usadas no código do nosso programa:



A partir disso, podemos acessar os campos da tabela usando essas variáveis, lembrando que elas são objetos. Veja alguns exemplos de utilização desses objetos:



queCidadeidcidade.Value; // lê o valor do campo, inteiro nesse caso
queCidadeidcidade.AsString; // lê o valor do campo convertido para string


Criação de TFields não é uma novidade. Isso já existia nas versões anteriores. Apenas ficou um pouco mais intuitivo e fácil manipular a criação desses objetos.



Referência aos parâmetros de um comando SQL



Como sabemos, é possível escrever comandos SQL utilizando parâmetros. Um exemplo é mostrado no código abaixo:



procedure TfrmConsCidade.btnPesquisarClick(Sender: TObject);
begin
with dmDados.queConsCidade do
begin
Close;
SQL.Clear;
if (rgCampo.ItemIndex = 0) then
begin
// pidcidade é um parâmetro
SQL.Add('select * from cidade where idcidade = :pidcidade');
// atribuição do valor do parâmetro
ParamByName('pidcidade').Value := StrToInt(edValor.Text);
//Params[0].Value := StrToInt(edValor.Text);
end
else
begin
SQL.Add('select * from cidade where nome like :pnome');
ParamByName('pnome').Value := edValor.Text + '%';
end;
Open;
end;
end;


Em versões anteriores não havia o método ParamByName(). O acesso a um parâmetro era feito usando Params[]. Isso é mostrado na linha de código comentada. O uso de ParamByName() torna o código mais legível.

O SQLdb melhorou muito, mas ainda aconselhamos o uso de ZeosLib.
"

Comentários

Postagens mais visitadas