[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