Duvida DataSet
estou usando o DBX para me conectar no banco ... tenho um SQLConnection, um SQLDataSet e um DataSource ... qdo tento linkar uma grid ao datasource, ocorre o seguinte erro: operation not allowed on a unidirectional dataset. Pq esse erro ocorre ???
desde ja vlw!!
desde ja vlw!!
Fvilela
Curtidas 0
Respostas
Afarias
23/06/2004
Pq, pelo que eu sei sobre o DBX, ele não possui DataSets Bi-direcionais!! Ou seja, os data-sets não mantem um buffer com os registros retirados do banco de dados para navegação.
Para ter esta funcionalidade use um ClientDataSet associado ao SQLDataSet ou SQLQuery
T+
Para ter esta funcionalidade use um ClientDataSet associado ao SQLDataSet ou SQLQuery
T+
GOSTEI 0
Vinicius2k
23/06/2004
É exatamente por isso q o afarias explicou, porém com um adendo...
Entre a SQLQuery e o ClientDataSet existe a necessidade do Provider que na verdade é quem vai fazer o buffer para navegação...
Em resumo, a arquitetura de conexão mais recomendada, é exatamente a mesma usada para 3 camadas, a qual vc já está habituado Fernando... a diferença é que todos os componentes estarão no DataModule da aplicação cliente...
Espero ter ajudado...
T+
Entre a SQLQuery e o ClientDataSet existe a necessidade do Provider que na verdade é quem vai fazer o buffer para navegação...
Em resumo, a arquitetura de conexão mais recomendada, é exatamente a mesma usada para 3 camadas, a qual vc já está habituado Fernando... a diferença é que todos os componentes estarão no DataModule da aplicação cliente...
Espero ter ajudado...
T+
GOSTEI 0
Fvilela
23/06/2004
Ajudaram sim ... obrigado.
GOSTEI 0
Afarias
23/06/2004
Só um detalhe Vina, que não sei se foi isso q quiz dizer, mas::
Na verdade o Provider não mantem o Buffer, este é mantido pelo ClientDataSet -- o ClientDataSet pode criar este buffer de diversas fontes, como arquivos ou o Provider (e ai, de um DataSet)
O Provider durante a consulta (Open do CDS) tem como única função, resgatar os registros do DataSet e enviar para o CDS que então os armazena em seu Buffer (Data)
Abração!
T+
existe a necessidade do Provider que na verdade é quem vai fazer o buffer para navegação...
Na verdade o Provider não mantem o Buffer, este é mantido pelo ClientDataSet -- o ClientDataSet pode criar este buffer de diversas fontes, como arquivos ou o Provider (e ai, de um DataSet)
O Provider durante a consulta (Open do CDS) tem como única função, resgatar os registros do DataSet e enviar para o CDS que então os armazena em seu Buffer (Data)
Abração!
T+
GOSTEI 0
Vinicius2k
23/06/2004
:oops:
se vc não me corrigisse ia ficar uma grande besteira escrita aqui...
eu quis dizer [b:1a0d992c04]trazer para o buffer[/b:1a0d992c04] e não [b:1a0d992c04]fazer o buffer[/b:1a0d992c04]
desculpe o erro Fernando !
valeu afarias ! :wink:
T+
se vc não me corrigisse ia ficar uma grande besteira escrita aqui...
eu quis dizer [b:1a0d992c04]trazer para o buffer[/b:1a0d992c04] e não [b:1a0d992c04]fazer o buffer[/b:1a0d992c04]
desculpe o erro Fernando !
valeu afarias ! :wink:
T+
GOSTEI 0
Afarias
23/06/2004
hehehehe... pior q eu tinha imaginado isso!! :D
Abraço
T+
Abraço
T+
GOSTEI 0