Status ClientDataSet
Boa noite,
No form tenho os seguintes componentes IBQuery, DataSetProvider, ClientDataSet e DataSource, no IBQuery tem um select que faço sobre uma procedure do BD,
quando abre o ClientDataSet ele carrega o resultado do select, então estou tentando de fazer a inserção em uma tabela no BD usando o ApplyUpdates, neste caso não
ocorre erro mas não grava tambem, isto porque o status do ClientDataSet não esta em modo de inserção, ha possibilidade de mudar o status para que o applyUpdate
grave os dados ou não vai funcionar.
Ornei
No form tenho os seguintes componentes IBQuery, DataSetProvider, ClientDataSet e DataSource, no IBQuery tem um select que faço sobre uma procedure do BD,
quando abre o ClientDataSet ele carrega o resultado do select, então estou tentando de fazer a inserção em uma tabela no BD usando o ApplyUpdates, neste caso não
ocorre erro mas não grava tambem, isto porque o status do ClientDataSet não esta em modo de inserção, ha possibilidade de mudar o status para que o applyUpdate
grave os dados ou não vai funcionar.
Ornei
Ornei Silva
Curtidas 0
Respostas
Luiz Menin
23/03/2016
Você precisa informar mais alguns detalhes para que eu possa te ajudar.
Como é seu SQL?
Como você está fazendo a inserção dos dados no ClientDataSet?
Como é seu SQL?
Como você está fazendo a inserção dos dados no ClientDataSet?
GOSTEI 0
Natanael Ferreira
23/03/2016
Se puder, poste o código que está usando para editar/inserir e gravar no ClientDataSet.
Veja um exemplo para gravar:
Veja este link:
https://www.devmedia.com.br/forum/clientdataset-not-in-edit-or-insert-mode/438521
Veja um exemplo para gravar:
with ClientDataSet1 do
if State in [dsEdit, dsInsert] then //Se estiver no modo edição ou inserção
begin
Post;
ApplyUpdates(-1);
end;Veja este link:
https://www.devmedia.com.br/forum/clientdataset-not-in-edit-or-insert-mode/438521
GOSTEI 0
Raylan Zibel
23/03/2016
IBQuery? IBQuery não grava. Tenta usar um IBDataSet e cria os SQLs no DataSet Editor (botão direito no dataset).
GOSTEI 0
Ornei Silva
23/03/2016
Quando usa insert no ClientDataSet o UpdateStatus=usInserted, a minha ideia e trazer o resultado de um
select para ClientDataSet e mudar UpdateStatus para usInserted para não usar o insert, para aplicar
o applyupdate, que neste caso fica usUnmodified
select para ClientDataSet e mudar UpdateStatus para usInserted para não usar o insert, para aplicar
o applyupdate, que neste caso fica usUnmodified
GOSTEI 0