Fórum Tsqldataset #327683

17/08/2006

0

olá estou criando um TsqlData em run-time, mas quando chamo o append, me fala que o dataset é read-only.

como devo fazer pra conseguir realizar esta tarefa?


obs.: Commandtext é um select


Sistemald

Sistemald

Responder

Posts

17/08/2006

Marco Salles

eu acho que esse componente é Unidirencional

Em Datasets unidirecionais não é permitido: edição, campos lookup, filtros e navegação com prior e last. Ao tentar realizar operações não permitidas sobre um Dataset unidirecional, uma exceção do tipo EdataBaseError é levantada com a mensagem : “Operation not allowed on a unidirectional dataset”.

Para conseguir esta tarefa Acho que tem que ter um clientDatset e um DatasetProvinder ligado ao TsqlData em tempo de execução


Responder

Gostei + 0

17/08/2006

Jáder Medeiros

Esse componente não é unidirecional. Posta aí o SQL que você colocou.


Responder

Gostei + 0

18/08/2006

Marco Salles

[b:f5f125b1ba]citação de Marco Salles[/b:f5f125b1ba]
eu acho que esse componente é Unidirencional


[b:f5f125b1ba]citação de Jader [/b:f5f125b1ba]
Esse componente não é unidirecional. Posta aí o SQL que você colocou.


Lendo o livro de Guinther : Programação para banco de dados Web Pagina 12 , lendo os exemplos do clube delphi DbExpressDataSnap (parteV) , lendo o livro a biblia7 de Marcu Cantu cap14 pag 462
cheguei a conclusão <pois os mesmos falam a mesma coisa>

´Os componentes do conjunto de Dados DbExpress herdam de uma nova Classe_base especial , TCustomSQLdataSet. Esta classe e suas classes derivadas representam conjunto de Dados Unidirencionais . Na prática , isto significa que alguns recursos de navegação estão limitados , e não tem suporte a edição etc...´

Conclusão:
[b:f5f125b1ba]Procure pelo eventos AfterEdit e BeforeEdit desse componentes. Simplesmente voce não ira encontrá-los[/b:f5f125b1ba]

Sou apenas passador de informação e não formador de Opiniões . Se o Artigos e livros que citei , estão errados e o amigo jader estiver certo , não foi minha intenção fornecer nenhum testumunho equivocado. Muito pelo contrário , tenho a melhor das intençoes para transmitir aquilo que de um pouco eu sei. tento ainda transmitir sempre na forma do[b:f5f125b1ba] eu Acho[/b:f5f125b1ba]
eu acho que ; acho que é assim , acho que assim dá certo.. etc...
Não por motivo de insegurança , mas para dizer que não são de minhas as palavras , e sim algo que li , algo que ouvi , algo tomei ciência.etc...


Responder

Gostei + 0

18/08/2006

Jáder Medeiros

É realmente. O TSQLDataSet é unidirecional. O confundi com TSimpleDataSet que herda de TCustomClientDataSet que não tem nada a ver com a biblioteca da dbExpress.

Fiz a confusão porque sempre que utilizo componentes DBX uso o TSimpleDataSet (aba dbExpress). Amigo, troque seu componente TSQLDataSet para TSimpleDataSet e na propriedade DataSet você irá encontrar praticamente as mesmas propriedades do TSQLDataSet, mas não se esqueça de executar o método ApplyUpdates.

Desculpem o engano.


Responder

Gostei + 0

18/08/2006

Sistemald

ok, boa alternativa.


Responder

Gostei + 0

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

Aceitar