Fórum Consulta usando SqlDataSet, DataSetProvider, ClientDataSet e DataSource #441842

04/05/2013

0

Bom dia pessoal, como faria uma consulta para mostrar no DBGrid? Estou usando SqlDataSet, DataSetProvider, ClientDataSet e DataSource.

Tentei fazer uma consulta usando um sqlDataSet e um DataSource, fiz um teste com SQLQuery mas deu o mesmo problema

Ta dando: Operation not allowed on a unidirectional dataset
Frederico Brigatte***

Frederico Brigatte***

Responder

Post mais votado

05/05/2013

Frederico, faca o seguinte.
1. para conexao a uma tabela voce precisa dos componentes:
sqlquery (informar sqlconnection).
datasetprovider (informar sqlquery, e colocar true em poAloowCommandtext)
ClientDataSet (informar o ProviderName (datasetprovider).
Datasource( informar o clientdataset).
dbgrid (informar o Datasource).
Pronto..com isso voce tem a ligacao entre os componentes).

2. Para fazer uma consulta tipo Select Codigo, Nome, Endereco from Clientes voce faz o sequinte:
Coloca esse select na linha de CommandText do ClientDataset.

o seu codigo ficaria?
cdsclientes.close; (clientdataset).
cdsclientes.commandtext:='Select Codigo, Nome, Endereco from Clientes';
cdsclientes.open;

No seu DBGRID aparecerao as informacoes que voce quer.
Qualquer duvida manda email: tomas@guestori.com.br

Tomas Raponi

Tomas Raponi
Responder

Gostei + 2

Mais Posts

04/05/2013

Marcos Morais

Em Primeiro lugar, tenho que te dizer que esse erro é devido ao DbExpress Ser Unidirecional.
a Solução:

01- Você tem que mudar a propriedade DataSet do DataSetProvider para o nome do SqlDataSet;
02- Agora no ClientDataSet mude a propriedade ProviderName para o seu DataSetProvider;
03- Mude a Propriedade do DataSet seu DataSource para o ClientDataSet (um ponto interessante, nunca aponte o DataSource, para o SqlDataSet, pois o mesmo é unidirecional);
04- Feito isso, aponte a propriedade do seu dbgrid para o Seu DataSource.

No DbExpress é assim que se faz, espero ter ajudado. qualquer dúvida, estamos aqui.
Responder

Gostei + 0

04/05/2013

Frederico Brigatte***

Vamos supor que vou montar a consulta, não está feita. Tenho que usar mais um SqlDataSet?
Responder

Gostei + 0

04/05/2013

Marcos Morais

A Consulta em SQL fica no SqlDataSet, você so precisa de um SQLData Set, e os outros componentes já citados, o DataSeProvider, o DataSource, e o ClientDataSet.
Responder

Gostei + 0

04/05/2013

Frederico Brigatte***

Espera um pouco, já tenho um SQLConnection, um SQLDataSet, um DataSetProvider, um ClientDataSet e um DataSource no DataModule, certo?

Não estou entendendo direito essa parte de Consulta.
Responder

Gostei + 0

04/05/2013

Frederico Brigatte***

Esses componentes fazem a conexão, certo? Utilizo para Inserir, Editar e Excluir o ClientDataSet. Certo?
Responder

Gostei + 0

04/05/2013

Marcos Morais

sim, isso mesmo, qual é então a sua dúvida?
Responder

Gostei + 0

04/05/2013

Frederico Brigatte***

Ligo o Grid com o DataSource do ClientDataSet?
Responder

Gostei + 0

04/05/2013

Frederico Brigatte***

Marcos, vc tem MSN?
Responder

Gostei + 0

05/05/2013

Frederico Brigatte***

Obrigado, Tomas, muito explicativo. Valeu.
Responder

Gostei + 0

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

Aceitar