Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

INTUITO BINÁRIO

Problemas em gravar registros no banco de dados

Recommended Posts

Olá pessoal,

estou desenvolvendo um sisteminha aqui para o cadastro de clientes, porem os dados ficam gravados do dbgrid tranquilamente, mas quando fecho o exe e abro novamente ele nao gravou nada no banco.

o que pode ser?, já tentei de tudo este é o codigo do botao gravar.

 

cdsclientes.Insert;

cdsclientes.Post;

cdsclientes.ApplyUpdates(0);

pg_controle.ActivePageIndex :=0;

 

mas nao da certo!

 

ja tentei tambem desta forma e tambem nao deu!

 

cdsclientes.Post;

cdsclientes.ApplyUpdates(0);

pg_controle.ActivePageIndex :=0;

 

o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, eu acredito que você tenha que criar alguns parametros la no banco, passar eles ai recebendo o conteúdo dos Edits que você está digitando os dados do cliente e ai sim vai funfar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

INTUITO BINARIO só complementando o post do colega flavio, completa o código do botão salvar com um cdsclientes.refresh.

 

A algum tempo atrás passei pelo mesmo problema e o refresh me ajudou a atualizar as informações na tabela.

 

Um abraço !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola wllf,

 

cara o refresh da erro e nao grava ainda no banco.

 

 

----------------------------------

 

 

 

evandro,

 

como dou o comando do commit, pq acho que pode ser isto mesmo....

meu componente clientdataset é cdscliente.

 

INTUITO BINARIO só complementando o post do colega flavio, completa o código do botão salvar com um cdsclientes.refresh.

 

A algum tempo atrás passei pelo mesmo problema e o refresh me ajudou a atualizar as informações na tabela.

 

Um abraço !!!

 

 

ola wllf,

 

cara o refresh da erro e nao grava ainda no banco.

 

o banco que uso e o firebird

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma duvida... estas duas linhas do seu código:

cdsclientes.Insert;
cdsclientes.Post;

Elas estão realmente assim ou foi somente um exemplo?

 

Pois, o uso correto é :

  • Inserir(usar o comando Insert ou append).
  • Colocar os valores nos campos
  • Gravar no banco(Post)

 

Abaixo um exemplo:

 

//Abre registro para inserção
ClientDataSet1.Insert; 

//preenche campos
ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := 1; 
ClientDataSet1.FieldByName('NOME_USUARIO').AsString    := 'Evandro'; 

//Grava os campos
ClientDataSet1.Post;

OBS: O commit do ClientDataSet é o ApplyUpdates

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se entendi evandro,

 

entao vou ter que colocar o componente text de cada DBEDIT dentro de variaveis e inserir o codigo:

 

ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := variavel que recebeu o DBEDIT.TEXT;

?

 

Uma duvida... estas duas linhas do seu código:

cdsclientes.Insert;
cdsclientes.Post;

Elas estão realmente assim ou foi somente um exemplo?

 

Pois, o uso correto é :

  • Inserir(usar o comando Insert ou append).
  • Colocar os valores nos campos
  • Gravar no banco(Post)

 

 

 

 

Abaixo um exemplo:

 

//Abre registro para inserção
ClientDataSet1.Insert; 

//preenche campos
ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := 1; 
ClientDataSet1.FieldByName('NOME_USUARIO').AsString    := 'Evandro'; 

//Grava os campos
ClientDataSet1.Post;

OBS: O commit do ClientDataSet é o ApplyUpdates

 

 

 

deixa eu ver se entendi evandro,

 

entao vou ter que colocar o componente text de cada DBEDIT dentro de variaveis e inserir o codigo?

 

ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := variavel que recebeu o DBEDIT.TEXT;

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se entendi evandro,

 

entao vou ter que colocar o componente text de cada DBEDIT dentro de variaveis e inserir o codigo:

 

ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := variavel que recebeu o DBEDIT.TEXT;

?

 

 

Uma duvida... estas duas linhas do seu código:

cdsclientes.Insert;
cdsclientes.Post;

Elas estão realmente assim ou foi somente um exemplo?

 

Pois, o uso correto é :

  • Inserir(usar o comando Insert ou append).
  • Colocar os valores nos campos
  • Gravar no banco(Post)

 

 

 

 

Abaixo um exemplo:

 

//Abre registro para inserção
ClientDataSet1.Insert; 

//preenche campos
ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := 1; 
ClientDataSet1.FieldByName('NOME_USUARIO').AsString    := 'Evandro'; 

//Grava os campos
ClientDataSet1.Post;

OBS: O commit do ClientDataSet é o ApplyUpdates

 

 

 

deixa eu ver se entendi evandro,

 

entao vou ter que colocar o componente text de cada DBEDIT dentro de variaveis e inserir o codigo?

 

ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := variavel que recebeu o DBEDIT.TEXT;

Bom, então você esta usando o TDBEdit para inserir e modificar valores do BD.

É melhor você pesquisar melhor sobre o funcionamento dos componentes da paleta Data 'Controls'.

O codigo a seguir:

ClientDataSet1.FieldByName('CODIGO_USUARIO').AsInteger := 1
Atribui o código 1 ao campo CODIGO_USUARIO da tabela USUARIO.

 

Usando um componente TDBEdit bem configurado, ele fará automaticamente a atribuição deste valor. O codigo citado acima é uma atribuição manual do valor, sem o uso de componentes opcionais(TDBEdit).

 

Para melhor visualização coloque dois botões~no seu formulario.

 

Um botão será o 'NOVO', coloque o codigo de um novo registro(Insert).

E o nosso proximo botão será o 'SALVAR', coloque o codigo para a gravação do registro(Post, ApplyUpdates)

Compartilhar este post


Link para o post
Compartilhar em outros sites

evandro,

 

ja tentei de tudo, no inicio eu fiz assim mesmo, configurei componente por componente, e o datasource

atribui o comando para cada botao novo e salvar.

 

mas nao funcionou, olhe como esta o original

 

 

http://www.agenciaintuito.com.br/delphi/intuito.rar

 

a a flclient.dll e a dll que uso para o banco de dados.

 

a pasta banco e onde esta o banco FB

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.