Qual o melhor tipo de conexão?

Delphi

30/09/2005

Amigos,
Eu tenho um BD em FireBird e estava usando a ADO, mas pelo o que sei, toda hora que eu faço uma aplicação com FireBird tenho que ir em Ferramentas administrativas - Fontes de dados (ODBC), adicionar uma fonte de dados de usuários!
Isso é assim mesmo??
Pois quando uso Access eu só preciso conectar usando Microsoft JET 4.0


Caezar

Caezar

Curtidas 0

Respostas

Camilo

Camilo

30/09/2005

aconselho a usar o DBxPress, pois leva uma dll e pronto... naum precisa configurar nada


GOSTEI 0
Caezar

Caezar

30/09/2005

Imaginava!
Como eu faço uma conecção DBExpress para jogar os dados em DBGrid?


GOSTEI 0
Michael

Michael

30/09/2005

Imaginava! Como eu faço uma [b:2a530b5385]conecção[/b:2a530b5385] DBExpress para jogar os dados em DBGrid?

:shock:

Use estes componentes: [b:2a530b5385]SQLConnection [/b:2a530b5385]+ [b:2a530b5385]SQLDataSet [/b:2a530b5385]+ [b:2a530b5385]DataSetProvider [/b:2a530b5385]+ [b:2a530b5385]ClientDataSet[/b:2a530b5385] + [b:2a530b5385]DataSource[/b:2a530b5385] + [b:2a530b5385]DBGrid[/b:2a530b5385].

Ligue-os da direta para a esquerda, isto é, o DBGrid ao DataSource; este ao ClientDataSet, etc.

Dependendo da versão do Firebird que vc irá utilizar, pode ser que o driver da Borland não ofereça suporte a todos os recursos do banco. Existe um driver free para o Firebird, chamado [url=http://www.progdigy.com/]UIB[/url].

[]´s


GOSTEI 0
Caezar

Caezar

30/09/2005

Ok, amigo mas e para fazer uma consulta sql?
No lugar de qual componente eu colocaria o SQLQuery?


GOSTEI 0
Pezzin

Pezzin

30/09/2005

Eu uso o IBX.


GOSTEI 0
Marceloho

Marceloho

30/09/2005

Ok, amigo mas e para fazer uma consulta sql? No lugar de qual componente eu colocaria o SQLQuery?



Para fazer a consulta SQL vc usa o SQLDataSet, digita na propriedade commandText


GOSTEI 0
Caezar

Caezar

30/09/2005

Amigos fiz a conexão conforme explicado. Adcionei alguns campos do SQLDataSet1 e um botão com o código:

DataModule2.SQLDataSet1.Append;


e ocorre este erro:
[b:c1dcb2ec56]´SQLDataSet1: Connot Modify a ready-only dataset´[/b:c1dcb2ec56]
O que será??


GOSTEI 0
Beppe

Beppe

30/09/2005

Vc deverá trabalhar com o ClientDataSet. Fará inserts e updates nele, e quando chegar ao fim da operação, chame ApplyUpdates(NumeroMaximoDeErros). Há vários detalhes sobre este tópico, então sugiro que consulte um livro ou ao menos use o botão pesquisar.


GOSTEI 0
Camilo

Camilo

30/09/2005

caro colega... vc pode pssar parametros via SQLDataSet ou pelo ClientDataSet, eu particularmente estou usando o SQLDataSet, em um select cliente, ficaria assim...

ClientDataSet.Close;
SQLDataSet.CommandText := ´Select * from CLIENTES´;
ClientDataSet.Open;

neste caso pra um select, se fosse um insert, delete ou update ficaria
ClientDataSet.Close;
SQLDataSet.CommandText := ´string de insert, delete ou update, q acho q vc jah tenha conhecimento como se monta´
SQLDataSet.ExecSQL;

depois vc teria q dá um novo select pra recuperar seus dados...

espero ter ajudado, pelomenos é assim q faço...


GOSTEI 0
Caezar

Caezar

30/09/2005

Amigos,
Montei a Conexão desta forma:
[b:356522a416]SQLConnection + SQLDataSet + DataSetProvider + ClientDataSet + DataSource + DBGrid[/b:356522a416]
Criei um botão com o seguinte código:
ClientDataSet1.append;

e outro:
ClientDataSet1.post;

cada vez que gravo um registro ele aparece no DBGrid porém não está adicionando no BD.


GOSTEI 0
Caezar

Caezar

30/09/2005

alguem???


GOSTEI 0
Fabiano Góes

Fabiano Góes

30/09/2005

Olha amigo caezar não trabalho com dbExpress mais acho que a lógica é a mesma.

Tenta assim:

antes do append:
  SQLConnection1.StartTransaction();
  ClientDataSet1.append;


e após o post:
  ClientDataSet1.post;
  SQLConnection1.Commit();



GOSTEI 0
Michael

Michael

30/09/2005

Olá!

Vc está esquecendo o essencial:

ClientDataSet.ApplyUpdates(<numero_de_erros>)


Sem isso vc não submete as alterações para o servidor do banco de dados. [b:96e843275a]Post [/b:96e843275a]apenas salva na memória do ClientDataSet.

[]´s


GOSTEI 0
Marcio.theis

Marcio.theis

30/09/2005

Bom... Eu utilizo o ADO e gosto muito dele, no qual até indico para todos, só que eu utilizo ele com um arquivo chamado UDL, no qual neste fica a configuração de acesso ao banco, ficando desta forma muito simples na minha aplicação para alterar de BD, basta mudar o arquivo UDL.


GOSTEI 0
Caezar

Caezar

30/09/2005

Obrigado amigos,
Michael o que significa: [b:f355a09e54](<numero_de_erros>)[/b:f355a09e54]
e ao amigo /]/]@t como faço essa UDL???


GOSTEI 0
Caezar

Caezar

30/09/2005

HA!!!
Só mais um problema.
No FireBird coloquei uma tabela apenas e nela um campo Código (integer) esse campo tem que ser auto numeração. Então cliquei em criar gerador e em automatismo e ele criou para mim.
Ocorre que no delphi ele não está recuperando o valor do código na gora em que vou inserir algum dado!


GOSTEI 0
Marcio.theis

Marcio.theis

30/09/2005

Um arquivo UDL vc pode criar atraves de um arquivo txt, ou seja, vc cria um arquivo com estensão .txt e depois altera para .udl. Sendo que se vc der duplo crick e entrar na tela, podera ver as opções de configurações que podera de ter, e para fazer isto vc deve de ter o MDAC atualizado....


GOSTEI 0
Fabiano Góes

Fabiano Góes

30/09/2005

Olá [b:708b35d43d][color=red:708b35d43d]/]/]@t[/color:708b35d43d][/b:708b35d43d] , será que podia me mandar um exemplo da utilização do ADO com esse arquivo UDL e se possivel me mandar esse arquivo UDL.

Ficaria muito grato !!!!

fabianogoes@ig.com.br


GOSTEI 0
POSTAR