Fórum SQLQuery/DataSetProvider/ClientDataSet no Oracle = FUNCIONA? #210303

29/01/2004

0

Estou usando SQLConnection / SQLQuery / DataSetProvider / ClientDataSet
Banco de Dados Oracle 8i Personal
Delphi 7

Conecto com SQLConnection
Tenho uma SQLquery simples tipo Select * from GPAREA Order by Sg_Area
Existem 5 campos : Uma Key e 4 campos
Crio um DataSetProvider e linko com o SQLQuery
Crio um ClientDataset e o linko com o DataSetProvider
No DatasetProvider coloco a opcao UpdateMode como upWhereKeyOnly (ja testei com as 3 opcoes)
Na SQLQuery coloco o provderflags dos campos das seguintes maneiras:
- A chave coloco Update / Where / Key
- Os outros coloco Update
(Também ja testei isto colocando tambem nos campos do ClientDataset)
Bom! mas aí, qdo edito campos faço o seguinte:

ClientDataset.Edit;
.
.
.
ClientDataset.Post;
ClientDataset.ApplyUpdates(0);

E sabe o que acontece? NADA!!!!

Ja usei o SQLMOnitor e no log aparece o seguinte:
update ´PRO_MNAREA_T3´ set

´SG_AREA´ = :1

where

´CD_AREA´ = :2


OCI 8 - OCIStmtPrepare
OCI 8 - OCIAttrGet
OCI 8 - OCIBindByPos
OCI 8 - OCIBindByPos
OCI 8 - OCIBindByPos
OCI 8 - OCIBindByPos
OCI 8 - OCIBindByPos
OCI 8 - OCIStmtExecute
OCI 8 - OCIErrorGet
OCI 8 - OCIHandleFree(OCI_HTYPE_DESC)
OCI 8 - OCIHandleFree(OCI_HTYPE_STMT)

Obs:- Qdo dou .open do SQLQuery dou active := true para o ClientDataset


Crpavao

Crpavao

Responder

Posts

29/01/2004

Rômulo Barros

Estranho.. pois tb trabalho com Oracle 8i personal e nun acontece isso naum...


Responder

Gostei + 0

29/01/2004

Michaell

Não consigo conectar com o meu Banco Oracle instalado no Linux utilizando componentes da Paleta dbExpress...
Detalhe: a versão do meu Oracle no Linux é 7
Será esse o problema?
Como eu faço a configuração?


Responder

Gostei + 0

29/01/2004

Rik3500

ClientDataset.Edit;
.
.
.
ClientDataset.Post;
ClientDataset.ApplyUpdates(0);

E sabe o que acontece? NADA!!!!


No lugar de ´ ClientDataset.ApplyUpdates(0); ´ experimente colocar
ClientDataset.ApplyUpdates(-1);


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar