DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!

Curso de dbExpress e DataSnap - Parte XVIII

Veja neste artigo de Guinther Pauli, mais um capítulo do curso de dbExpress e DataSnap. Acesso exclusivo para Assinantes.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Curso de dbExpress e DataSnap

Parte XVIII – CommandText

Neste artigo, veremos como usar a propriedade CommandText do ClientDataSet. Ela permite que você repasse comandos SQL a partir de uma camada cliente em um cenário multicamadas, dando maior flexibilidade a sua solução. Ideal para reaproveitamento de código e componentes, pois podemos usar um único par “DataSetProvider / ClientDataSet” para executar uma série de consultas no BD.

Configure uma conexão dbExpress para o banco EMPLOYEE do Interbase. Coloque um SQLConnection apontando para essa conexão. Coloque também um SQLQuery, um DataSetProvider, um ClientDataSet, um DataSource, um DBGrid, um Button e um Memo. Configure os componentes conforme o código a seguir:

 

  object DBGrid1: TDBGrid

    DataSource = DataSource1

  end

  object DataSource1: TDataSource

    DataSet = ClientDataSet1

  end

  object ClientDataSet1: TClientDataSet

    ProviderName = 'DataSetProvider1'

  end

  object DataSetProvider1: TDataSetProvider

    DataSet = SQLQuery1

  end

  object SQLQuery1: TSQLQuery

    SQLConnection = SQLConnection1

  end

  object SQLConnection1: TSQLConnection

    ConnectionName = 'EMPLOYEE'

    LoginPrompt = False

    Connected = False

    KeepConnection = False

    Params.Strings = (

      'DriverName=Interbase'

      'Database=C:\Borland\InterBase\examples\database\employee.gdb'

      'User_Name=sysdba'

      'Password=masterkey'

      'ServerCharSet=WIN1252'

      'SQLDialect=3')

  end

 

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



Figura 1.

O código do botão Executar é mostrado a seguir:

 

procedure TFrmMain.BitBtn1Click(Sender: TObject);

begin

  ClientDataSet1.Close;

  ClientDataSet1.CommandText := Memo1.Lines.Text;

  ClientDataSet1.Open; 

end;

 

Observe que aqui repassamos a instrução SQL digitada no memo para a propriedade CommandText do ClientDataSet, e não para o SQLQuery. O CDS se encarregará de enviar isso ao DataSetProvider, que vai repassa-la ao cursor dbExpress associado e executar o comando no BD. Você pode, até mesmo, passar parâmetros (Params) no ClientDataSet.

No evento OnCreate do form, configuramos a propriedade Options do DataSetProvider para incluir o AllowCommandText, que deve estar True. Isso indica ao DSP que o mesmo pode receber comandos SQL a partir do CDS:

 

procedure TFrmMain.FormCreate(Sender: TObject);

begin

   DataSetProvider1.Options := [poAllowCommandText];

end;

 

Essa configuração também pode ser feita diretamente no Object Inspector:

 

Figura 2.

 

Executando a aplicação, temos o resultado mostrado a seguir:

 

Figura 3.

 

Download

Você pode fazer download de todos os exemplos deste curso a partir do endereço http://cc.borland.com/Author.aspx?ID=222668. É preciso fazer o cadastro na BDN, que é gratuito e pode ser feito a partir do endereço http://bdn.borland.com

 

dbExpress, DataSnap e ClientDataSet: Técnicas Avançadas

Para mais informações sobre acesso a dados no Delphi e técnicas avançadas, sugiro a leitura do meu livro, “Delphi: Programação para Banco de Dados e Web”, como apoio para o aprendizado das tecnologias. Na obra mostro várias técnicas introdutórios e avançadas de desenvolvimento com ClientDataSet, dbExpress e DataSnap (multicamadas, incluindo SOAP e COM+). Para mais informações, consulte o link http://www.clubedelphi.net/guinther

Leia todos artigos da série

Este post faz parte do Curso Construindo uma Aplicação MultiCamadas passo a passo
Este post faz parte da Formação Delphi Developer

Guinther Pauli.
Microsoft Certified Professional - MCP,MCAD,MCSD.NET,MCTS,MCPD (C#, ASP.NET, Arquitetura), MVP, Delphi Certified Professional, Colaborador Editorial Revistas .net Magazine e ClubeDelphi http://www.gpauli.com http://www.facebook.com/guintherpauli http://www.twitter.com/guintherpauli http://br.li...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03