Não consigo gravar na tabela ClientDataSet

Delphi

10/11/2015

Boa tarde, peço ajuda para tentar resolver um problema, pois sou iniciante e não consigo encontrar uma saida, Obrigado.

Faço conexão em um banco com estenção GDB, Utilizo os seguintes componetes: SQLConnection, SQLQuery, DataSetProvider, ClientDataSet e DataSource o banco abre e funciona tudo certinho, porem quando tento gravar no banco no primeiro momento funciona perfeitamente, porem quando fecho a aplicação e abro novamente não foi aplicada as modificações que pedi, o comando que tento executar é para tirar os ZEROS da esquerda de todos os registros do campo código da tabela Produtos.

Segue o código que estou usando.

procedure TForm6.Button7Click(Sender: TObject);
var s : String;
begin
DM.CdsProdutos.First;

while not DM.CdsProdutos.eof do
begin
DM.CdsProdutos.Edit;
s := DM.CdsProdutosCODIGO.Text;
while s[1] = '0' do delete(s,1,1);
DM.CdsProdutosCODIGO.Text := s;
DM.CdsProdutos.Post;
DM.CdsProdutos.Next;
end;
end;

Caso alguém puder me ajudar fico muito grato.
Eduardo Sganderla

Eduardo Sganderla

Curtidas 0

Respostas

Usuario

Usuario

10/11/2015

Olá Eduardo,
Essa sua coluna 'codigo' só recebe números? Se sim, não precisa usar essa função delete para remover zeros a esquerda.. Basta usar
DM.CdsProdutosCODIGO.AsInteger;

Se a sua coluna for do tipo 'varchar' então você pode fazer uma conversão, ficando assim:
DM.CdsProdutosCODIGO.AsString := IntToStr(DM.CdsProdutosCODIGO.AsInteger);
GOSTEI 0
Carlos Bernardo

Carlos Bernardo

10/11/2015

Faltou o ApplyUpdates do clientdataset O Post grava a alteracao na memoria e o applyupdates aplica as atualizacoes no banco de dados...
GOSTEI 0
Eduardo Sganderla

Eduardo Sganderla

10/11/2015

Muito Obrigado amigos, as duas respostas me ajudaram muito, obrigado mesmo.
GOSTEI 0
POSTAR