Curso de ADO.NET e BDP - Parte V

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Nesta quinta parte do curso de acesso a dados no Delphi 8 for .NET conheceremos o BdpParameter, utilizado para construir consultas parametrizadas com o BDP, o provider da Borland para o ADO.NET.

Acesso a dados no Delphi 8 for .NET

 

Parte V – Consultas parametrizadas com o BdpParameter

Nesta quinta parte do curso de acesso a dados no Delphi 8 for .NET conheceremos o BdpParameter , utilizado para construir consultas parametrizadas com o BDP, o provider da Borland para o ADO.NET.

Consultas parametrizadas são um dos fundamentos da programação cliente / servidor e multicamadas, é essencial que você conheça como criar esse tipo de consulta ao utilizar o ADO.NET, reduzindo tráfego desnecessário de dados na rede a maximizando a performance da aplicação. Usando parâmetros, você tem mais controle sobre quais registros devem ser deslocados do banco de dados até a cache de dados na parte cliente da aplicação.

Criando a consulta parametrizada

Faremos agora um exemplo prático que demonstra a utilização do BdpParameter . Inicie uma nova aplicação do tipo Windows Forms Application . Expanda a conexão Employee no Data Explorer e arraste a tabela Customer para o designer. Isso cria um BdpConnection e um BdpDataAdapter .

Clique de direita sobre o BdpDataAdapter e escolha a opção Configure Data Adapter Observe os comandos SQL gerados para o componente:

 

 

Observe que colocamos uma condição where na instrução select , indicando que queremos retornar somente o customer cujo CUST_NO for igual ao parâmetro informado (um parâmetro é representado no BDP pelo sinal “?”):

 

SELECT

   CUST_NO, CUSTOMER, CONTACT_FIRST, CONTACT_LAST,

   PHONE_NO, ADDRESS_LINE1, ADDRESS_LINE2, CITY,

   STATE_PROVINCE, COUNTRY, POSTAL_CODE, ON_HOLD

   FROM CUSTOMER

WHERE CUST_NO = ?

 

Clique na aba DataSet e gera o DataSet para o BdpDataAdapter , e clique em Ok.

Configurando o parâmetro

Com o BdpDataAdapter selecionado, clique sobre o símbolo [...] ao lado da sua propriedade SelectCommand.Parameters

 

 

No editor que abrirá, clique no botão Add para criar um novo BdpParameter , e configure suas propriedades conforme mostrado na figura a seguir:

 

 

Clique em Ok para confirmar a criação do parâmetro. Ative o BdpDataAdapter (Active = True).

Configurando o formulário principal

Coloque no formulário principal da aplicação os seguintes componentes: DataGrid , Button e TextBox . Configure as propriedades DataSource e DataMember do DataGrid . Você já deve estar visualizando o registro 1015 no DataGrid , pois inicializamos esse valor na propriedade Value do BdpParameter criando anteriormente.

Seu formulário deve estar semelhante ao mostrado a seguir:

 

 

Tudo o que precisamos fazer agora é repassar em tempo de execução o valor digitado no TextBox para o parâmetro criado anteriormente, e reativar o BdpDataAdapter . Isso é feito no evento Click do botão:

 

procedure TWinForm2.Button1_Click(sender: System.Object; e: System.EventArgs);

begin

  BdpDataAdapter1.Active := False;

  BdpDataAdapter1.SelectCommand.Parameters['CUST_NO'].Value :=

  TextBox1.Text;

  BdpDataAdapter1.Active := True;

end;

 

Parameters é um objeto do tipo BdpParamterCollection , uma coleção de BdpParameters . No código anterior acessamos o parâmetro CUST_NO através do seu nome, definido na criação do mesmo (propriedade ParameterName ). Execute a aplicação e digite um código válido no TextBox , e teste a consulta parametrizada:

 

 

Download

Você pode fazer download de todos os exemplos deste curso de acesso a dados no Delphi 8 com ADO.NET e BDP a partir do endereço http://cc.borland.com/cc/ccweb.exe/author?authorid=222668

 

Na próxima parte do curso conheceremos o BdpTransaction , utilizado para gerenciar transações no BDP. Um abraço e até lá!

Leia todos artigos da série

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Ficou com alguma dúvida?