Fórum Não consigo gravar na tabela ClientDataSet #536821

10/11/2015

0

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

Responder

Posts

10/11/2015

Usuario

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);
Responder

Gostei + 0

10/11/2015

Carlos Bernardo

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

Gostei + 0

11/11/2015

Eduardo Sganderla

Muito Obrigado amigos, as duas respostas me ajudaram muito, obrigado mesmo.
Responder

Gostei + 0

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

Aceitar