[firebase-br] DBExpress - Utilizar SQLDataSet e ClientDataSet

Pha-Lista lista em pha.com.br
Seg Jun 6 15:56:48 -03 2005


Sempre que possivel prefiro utilizar os componetes DBWares, em alguns casos mais complicados utilizo o TClientDataSet em memoria (desconectado) e depois executos comandos SQLs com os valores do TClientDataSet.

Agora se nao houver interface com  o usuario, o melhor e rodar os comando diretamente, e de preferencia diretamente no TSQLDataSet ou no Execute da conexao.

PHA
Nova Odessa / SP - Brazil

-----Mensagem original-----
From: User-Ba meus.foruns em embytes.com.br
Date: Mon,  6 Jun 2005 15:52:22 -0300
To: lista em firebase.com.br
Subject: [firebase-br] DBExpress - Utilizar SQLDataSet e ClientDataSet

> 
> Olá a todos!
> 
> Este é o meu primeiro post para a lista.
> Sei que é um chavão, mas acretido que a apresentação abaixo não pode ser 
> omitida :)
> Meu nome é Luciano e sou um usuário Delphi no estado da Bahia.
> 
> Conheci o Delphi na vs 5, fiz alguns modestos utilitários com a vs 6 e 
> atualmente utilizo a Vs 7.
> Desenvolvi poucos aplicativo (DeskTop), no caso, ainda utilizando o 
> banco de dados Paradox.
> 
> Resolvi então direcionar meu aprendizado
> para utilização do Delphi com Banco de Dados,
> optando pelo Firebird como base de dados.
> 
> Depois de ler as diversas opiniões a respeito dos componentes de acesso,
> resolvi optar pelo DBExpress , levado pelos motivos de:
> -Encontrar algumas Literaturas (livros e apostilas) que abordam a 
> utilização de tais componentes,
> -Não ter encontrado literaturas nacionais para Delphi + Firevird + IBO,
> -Pretender futuramente acessar bases MySQL para utilização na WEB,
> neste caso também, tenho encontrado algumas literaturas com a utilização 
> do DBExpress.
> 
> * Gostaria de opiniões a respeito desta minha escolha.
> 
> É isto, sou um iniciante em programação com BDs
> e espero poder contar com vocês, para me auxiliarem em alguns passos.
> 
> Fica a promessa, de só recorrer a vocês quando as minhas tentativas
> no Help, apostilas e livros estiverem se esgotada Ok?. :)
> 
> Como meu primeiro exercicio criei com auxilio do IB Expert
> um Banco AGENDA.FDB e 1 Tabela AGENDA para ir praticando os comandos.
> 
> De inicio gostaria que me esclarecessem o seguinte:
> 
> Seria melhor eu utiliza os componentes -> SQLConnection e SQLDataSet
> para promover Inserts, Updates e Deletes no banco conforme abaixo:
> 
> procedure TForm1.Button2Click(Sender: TObject);
> begin
>   Try
>     Transacao.TransactionID  := 1;
>     Transacao.IsolationLevel := xilREPEATABLEREAD;
> 
>     sc_Agenda.StartTransaction(Transacao);
> 
>     sds_Agenda_reg.Close;
>     sds_Agenda_reg.CommandType := ctQuery;
>     sds_Agenda_reg.CommandText := 'insert into AGENDA(CHAVE, NOME, 
> TELEFONE) 'values(:PCHAVE, :PNOME, :PTELEFONE)';
> 
>     sds_Agenda_reg.ParamByName('PCHAVE').AsString := Edit1.Text;
>     sds_Agenda_reg.ParamByName('PNOME').AsString  := Edit2.Text;
>     sds_Agenda_reg.ParamByName('PTELEFONE').AsString := Edit3.Text;
> 
>     sds_Agenda_reg.ExecSQL;
>     sc_Agenda.Commit(Transacao);
> 
>   Except on Exc:Exception do
>     Begin
>       ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: 
> ' + Exc.Message);
>       sc_Agenda.RollBack(Transacao);
>     End;
>   End;
> end;
> 
> Neste caso, não utilizando os componentes DBWares...
> 
> * Gostaria de opiniões a respeito da forma de utilização do código acima.
> 
> Ou seria melhor utilizar os componentes SQLConnection -> SQLDataSet -> 
> DataSetProvider -> ClientDataSet -> DataSource
> e fazer por exemplo: UPDATES conforme abaixo:
> 
> cds_agenda.Post;
> cds_agenda.ApplyUpdates(0);
> 
> Neste caso utilizado os componentes DB.
> 
> * Gostaria de opiniões a respeito da forma de utilização do código acima.
> 
> Aproveitando!
> Estou a procura do livro do
> Srs. Bastiaan Pieter e Marcelo Frank
> "Delphi 6 Cliente/Servidor com Firebird/Interbase - Aplicação de PDV e 
> Controle de Estoques"
> citado em um artigo no site www.firebase.com.br
> Já procurei em diversos livrarias (ecommerce),
> mas sempre o produto está em falta no estoque.
> Caso algum de vocês o possua e pretenda revendê-lo,
> favor enviar proposta diretamente para o meu email.
> 
> Obrigado a todos desde já,
> e desculpem a extensão do meu primeito Post.
> 
> Abraços
> Luciano-User-BA
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista