Duvida com SQLDataset

Firebird

02/08/2004

Estou tentando alterar um dado (firebird) como se estivesse usando um componente table. mas quando passo por esse comando abaixo ele da erro.

DataModulederma.SQLDataSetBalcao2.filter:=´codigo=´´´+inttostr(DataModulederma.SQLDataSetPadrao[´codigo´])+´´´´;
DataModulederma.SQLDataSetBalcao2.filtered:=true;

essa e a mensagem
SQLDatasetBalcao2: operation not allowed on a unidirectional dataset

estou usando os componentes

sqldataset
datasetprovider
clientedataset
datasource


Rjcerri

Rjcerri

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

02/08/2004

A propriedade Filter não é suportada em datasets unidirecionais como os usados pelos componentes DBExpress.


GOSTEI 0
Rjcerri

Rjcerri

02/08/2004

o que você acho que devo fazer nesse caso?


GOSTEI 0
Gandalf.nho

Gandalf.nho

02/08/2004

Em vez de filtro, use parâmetros na própria query.


GOSTEI 0
Rjcerri

Rjcerri

02/08/2004

entao eu não posso usar esse componente como se fosse um Ttable. tenho que usar sql?


GOSTEI 0
Gandalf.nho

Gandalf.nho

02/08/2004

Sim, inclusive é totalmente desaconselhado usar Tables em banco de dados cliente-servidor.


GOSTEI 0
Afarias

Afarias

02/08/2004

Associe um ClientDataSet ao seu SQLDataSet/SQLQuery (note q se nunca usou ClientDataSets e DataSetProviders terá q estudar um pouco sobre!)

O CDS é uma tabela de memória q permitirá a vc usar Filtros e muitas outras facilidades.

Entretanto, não deixe de seguir as orientações do (ou da) gandalf.nho, como:: Defina bem sua consulta SQL (WHERE) no SQLDataSet (ou SQLQuery)



T+


GOSTEI 0
Rjcerri

Rjcerri

02/08/2004

Eu nunca usei o clientdataset, e quando eu usei ele para fazer um filtro no dbgrid ele mostra o registro tres vezes. o que sera isso?


GOSTEI 0
Afarias

Afarias

02/08/2004

Vc ligou o DataSource do Grid no ClientDataSet?? Pq parece é q vc ligou no SQLDataSet.

Bom, se vc nunca usou ClientDataSets, vc terá de ´perder´ um tempinho estudando e vendo como funciona e como utilizar ClientDataSets e DataSetProviders.


T+


GOSTEI 0
POSTAR