dbexpress, não consigo usar tabela - read-only
10/09/2004
0
Utilizei um SQLconnection e um table do dbexpress só que naõ consigo manipular a tabela, quando vou inserir um registro (tb.insert) aparece um erro que a tabela é somente leitura (não tenho como colocar agora o o erro exato). Será que falta o que, usando o mesmo banco com os componentes BDE funciona blz.
Delphi7 Firebird 1.5
Acho que preciso de uma boa apostila de como trabalhar com delphi&firebird atráves dos dbexpress, se alguém puder me indicar um download etc... Obrigado;
Ricna
Posts
10/09/2004
Vinicius2k
O 1º ponto é que vc deve esquecer TxxxTables quando trabalhar com Cliente/Servidor... o dbExpress foi concebido para C/S e a presença da TSQLTable é, digamos, apenas para facilitar um eventual migração... então a manipulação dos dados deve ser feita via TSQLQuery ou TSQLDataSet.
O 2º ponto é que o dbExpress é unidirecioal, isto significa que os únicos métodos que podem ser aplicados sobre o DataSet são First e Next, logo, vc não pode ligá-lo diretamente a um TDataSource -> TDBGrid... para ter um DataSet navegável vc precisa de intermediários...
As opções são :
[b:b31893c3d7]1. TSQLDataSet/TSQLQuery + TDataSetProvider + TClientDataSet :[/b:b31893c3d7] Esta é a artiquetura mais recomendada e também a mais utilizada. O esquema de ligação básico é :
[b:b31893c3d7]2. TSQLClientDataSet (Delphi 6) ou TSimpleDataSet (Delphi 7) :[/b:b31893c3d7] Estes componentes são, digamos, 3 em 1 (DataSet + Provider + ClientDataSet) mas não tem todas as propriedades e métodos que vc teria usando os 3 serparadamente...
São componentes ruins, pouco utilizados e não recomendáveis até mesmo pelo pessoal da Borland... Dificuldades frequentes e simples de solucionar com a arquitetura normal, costumam se tornar pavorosas com eles, e muitas vezes, sem solução...
Veja a seção de apostilas do site da revista ClubeDelphi : http://www.clubedelphi.net/apostilas/apostilas.asp
Nos sites www.activedelphi.com.br e www.delphi.eti.br vc tbm encontra material e artigos que podem lhe ajudar a trabalhar com o dbExpress...
A pesquisa do fórum tbm pode lhe ajudar bastante, já que o dbExpress tbm é bastante utilizado, e vc tbm poderá comprovar as considerações que fiz acima sobre as duas formas de acesso...
Espero ter ajudado.
Boa Sorte !
T+
28/09/2005
Doug_chagas
[b:e569fc9b04]2. TSQLClientDataSet (Delphi 6) ou TSimpleDataSet (Delphi 7) :[/b:e569fc9b04] Estes componentes são, digamos, 3 em 1 (DataSet + Provider + ClientDataSet) mas não tem todas as propriedades e métodos que vc teria usando os 3 serparadamente...
São componentes ruins, pouco utilizados e não recomendáveis até mesmo pelo pessoal da Borland... Dificuldades frequentes e simples de solucionar com a arquitetura normal, costumam se tornar pavorosas com eles, e muitas vezes, sem solução...
Veja a seção de apostilas do site da revista ClubeDelphi : http://www.clubedelphi.net/apostilas/apostilas.asp
Nos sites www.activedelphi.com.br e www.delphi.eti.br vc tbm encontra material e artigos que podem lhe ajudar a trabalhar com o dbExpress...
A pesquisa do fórum tbm pode lhe ajudar bastante, já que o dbExpress tbm é bastante utilizado, e vc tbm poderá comprovar as considerações que fiz acima sobre as duas formas de acesso...
Espero ter ajudado.
Boa Sorte !
T+[/quote:e569fc9b04]
Amigo, na propriedade drivername não existe a opção Firebird, devo utilizar o Interbase como dito em outros topicos, ou existe como utilizar driver para o firebird, faze-lo aparecer nesta propriedade?
Obrigado.
28/09/2005
Vinicius2k
Vc pode usar, sem problemas, o driver para Interbase com o Firebird até 1.5.x.
Outros drivers específicos existem, mas o UIB ainda é instável -- http://www.progdigy.com/modules.php?name=UIB -- e o da Upscene -- http://www.upscene.com -- é pago.
T+
28/09/2005
Davicarrano
tem o component de acesso UIB com o driver do Firebird para ibexpress...
eu testei... funcionou beleza... um unico problema eu encontrei...
o sql monitor para monitorar as instruções sql q sao enviadas para o servidor firebird, nao funciona com este drive... alguem sabe porque?
23/11/2005
Paulo Trajano
Estou colocando as dlls midas.dll e dbexpint.dll juntas na pasta da minha aplicvação e dá a msg que ´Falta o DriverName´. Vc disse que funciona direitinho com o driver do interbase e estou usando o FB 1.5. O que está errado?
24/11/2005
Vinicius2k
Verifique as propriedades do TSQLConnection:
1. [b:cc633f55dc]DriverName[/b:cc633f55dc] obrigatoriamente precisa estar preenchida com, no seu caso, ´Interbase´ (ou qualquer outro nome que vc desejar, não faz diferença se vc não estiver utilizando conexões nomeadas através do dbxconnections.ini)
2. [b:cc633f55dc]GetDriverFunc[/b:cc633f55dc] preenchida com ´getSQLDriverINTERBASE´
3. [b:cc633f55dc]LibraryName[/b:cc633f55dc] preenchida com ´dbexpint.dll´
4. [b:cc633f55dc]VendorLib[/b:cc633f55dc] preenchida com ´fbclient.dll´ (ou ´gds32.dll´)
5. [b:cc633f55dc]LoadParamsOnConnect[/b:cc633f55dc] setada para ´False´ (se vc não estiver utilizando conexões nomeadas através do dbxconnections.ini).
T+
24/11/2005
Paulo Trajano
Abraço!!
Clique aqui para fazer login e interagir na Comunidade :)