Atualiza codigo

Delphi

07/10/2013

Nas Aplicaçoes o codigo entra automatico quando inserta .
Quando abre a tabela e vc inserta ele atualiza codigo normal so que depois que salva e inserta novamente ele nao atualiza continua salvando com mesmo codigo do primeiro e quando fecha a from e abre de novo atualiza como resolvo ?
Felipe Barlera

Felipe Barlera

Curtidas 0

Respostas

Ricardo Rodrigues

Ricardo Rodrigues

07/10/2013

Nas Aplicaçoes o codigo entra automatico quando inserta .
Quando abre a tabela e vc inserta ele atualiza codigo normal so que depois que salva e inserta novamente ele nao atualiza continua salvando com mesmo codigo do primeiro e quando fecha a from e abre de novo atualiza como resolvo ?



Bom dia, primeiramente precisamos saber o que vc está utilizando, posta seu codigo pra analisarmos.
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

vc quer codigo ou os componetes de conexao?
GOSTEI 0
Ricardo Rodrigues

Ricardo Rodrigues

07/10/2013

Pelo que entendi ,vc está utilizando generators ou está gerando o código manualmente ?
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

gerando manualmente atraves de codigo no delphi e com generator no banco de dados.Usando conexao com dbexpress
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

eu passando codigo de atualizaçao no before ou aflet nao resoveria?
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

Código que estou usando para chamar código automatico
procedure Tfrmcadclientes.Button3Click(Sender: TObject);
var ultcod:integer;
begin
dmdados.tbl_clientes.Insert;

if dmdados.dsclientes.State in [dsInsert] then
begin
tblAuxClientes.Last;
ultcod:=tblAuxClientesCLI_CODIGO.Value+1;
dmdados.tbl_clientesCLI_CODIGO.Value:=ultcod;
dmdados.tbl_ClientesCLI_DATACADASTRO.asdatetime :=date;
dmdados.tbl_ClientesCLI_HORACADASTRO.Value:=time;
dmdados.tbl_clientesCLI_FOTO.Value:='C:\Users\Sside\Documents\Progamação\Monter Estoque\Imegens\sem-imagem2.bmp';
foto.Picture.LoadFromFile(dmdados.tbl_clientesCLI_FOTO.Value);
DBEdit5.SetFocus;

end;
end;
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

NENHUM CODIGO PARA RESOLVER MEU PROBLEMA?
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

Olá Felipe,

no after post você já tentou colocar o applyupdates(0) para o client data set?
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

vou tentar aqui obrigado
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

amigo enseri o codigo no cliente data set mesmo apresentou erro de codigo fiz como me falou mesmo delphi apresenta erro de codigo .

tentei tb coloca tabala. applyupdates(0) nao deu certo tb como introduzo codigo corretamente ?o

Erro apresentado pelo delphi xe 4 : Undeclared identifer apllyupdates at lines .
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

Olá Felipe,

no seu DataModule dmdados, selecione o evento afterpost do tbl_clientes e insira o código abaixo:

procedure Tdmdados.tbl_clientesAfterPost(DataSet: TDataSet);
begin
  tbl_clientes.applyupdates(0);
  tbl_clientes.refresh;
end;


obs.: estou considerando que sua chave não seja autoincremet.
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

amigo enseri o codigo no cliente data set mesmo apresentou erro de codigo fiz como me falou mesmo delphi apresenta erro de codigo .

tentei tb coloca tabala. applyupdates(0) nao deu certo tb como introduzo codigo corretamente ?o

Erro apresentado pelo delphi xe 4 : Undeclared identifer apllyupdates at lines .


ops, agora é que vi você colocou apllyupdates, o correto é applyupdates.
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

ENSERI CODIGO DELPHI ACEITO SO QUE MESMO QUANDO INSERTA NAO ATUALIZA ESTA ATUALIZANDO CODIGO

enseri seguinte codido no cliente data set after post : UDmdados.dmdados.tbl_clientes.ApplyUpdates(0); esta correto?

Bando de Dados firebird 2.5
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

Você também colocou o Refresh?

pode ser o refresh ou então você fecha e abre o dataset.

se der coloque o código da procedure do afterpost toda.
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

codigo : UDmdados.dmdados.tbl_clientes.ApplyUpdates(0);
UDmdados.dmdados.tbl_clientes.Refresh;

O mesmo não atualiza ao inserta depois de salvo 1 cadastro.
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

Felipe,

dá para mostrar os componentes de conexão e suas configurações?
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

Sim vamos la
componetes usados na conexao no udmdados:
SQLConnection para ligação com banco de dados .
SQLDataSet,ClientDataSet,DataSource,ClientDataSet e no from mesmo componetes servindo de auxiliar para inserta codigo automatico.

Codigo para inserir codigo automatico usado no botao inserir :
procedure Tfrmcadclientes.Button3Click(Sender: TObject);
var ultcod:integer;
begin
dmdados.tbl_clientes.Insert;

if dmdados.dsclientes.State in [dsInsert] then
begin
tblAuxClientes.Last;
ultcod:=tblAuxClientesCLI_CODIGO.Value+1;
dmdados.tbl_clientesCLI_CODIGO.Value:=ultcod;
dmdados.tbl_ClientesCLI_DATACADASTRO.asdatetime :=date;
dmdados.tbl_ClientesCLI_HORACADASTRO.Value:=time;
dmdados.tbl_clientesCLI_FOTO.Value:='C:\Users\Sside\Documents\Progamação\Monter Estoque\Imegens\sem-imagem2.bmp';
foto.Picture.LoadFromFile(dmdados.tbl_clientesCLI_FOTO.Value);
DBEdit5.SetFocus;
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

gerando manualmente atraves de codigo no delphi e com generator no banco de dados.Usando conexao com dbexpress


tente inserir sem passar o código através do delphi, deixe que o generator gerencie isso.
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

como fasso isso?
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

procedure Tfrmcadclientes.Button3Click(Sender: TObject);
var ultcod:integer;
begin
dmdados.tbl_clientes.Insert;

if dmdados.dsclientes.State in [dsInsert] then
begin
// tblAuxClientes.Last;                                                         |   Comente
// ultcod:=tblAuxClientesCLI_CODIGO.Value+1;                  | essas
// dmdados.tbl_clientesCLI_CODIGO.Value:=ultcod;           | linhas
dmdados.tbl_ClientesCLI_DATACADASTRO.asdatetime :=date;
dmdados.tbl_ClientesCLI_HORACADASTRO.Value:=time;
dmdados.tbl_clientesCLI_FOTO.Value:='C:\Users\Sside\Documents\Progamação\Monter Estoque\Imegens\sem-imagem2.bmp';
foto.Picture.LoadFromFile(dmdados.tbl_clientesCLI_FOTO.Value);
DBEdit5.SetFocus;


comente as linhas indicadas acima e teste.
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

sem os códigos ele nao insere o codigo o mais correto era busca uma atualização ao inserta
.
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

estranho, como está o seu generator?

Tente a alteração que fiz abaixo.

procedure Tfrmcadclientes.Button3Click(Sender: TObject);
var ultcod:integer;
begin

tblAuxClientes.Last;                                               
ultcod:=tblAuxClientesCLI_CODIGO.Value+1; 
      
dmdados.tbl_clientes.Insert;
if dmdados.dsclientes.State in [dsInsert] then
begin
dmdados.tbl_clientesCLI_CODIGO.Value:=ultcod;         
dmdados.tbl_ClientesCLI_DATACADASTRO.asdatetime :=date;
dmdados.tbl_ClientesCLI_HORACADASTRO.Value:=time;
dmdados.tbl_clientesCLI_FOTO.Value:='C:\Users\Sside\Documents\Progamação\Monter Estoque\Imegens\sem-imagem2.bmp';
foto.Picture.LoadFromFile(dmdados.tbl_clientesCLI_FOTO.Value);
DBEdit5.SetFocus;
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

Assim ele insere codigo mais nao atualiza
apos inserta depois de ter enserido
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

Agora quando inserta ele iserta com mesmo numero so quando salva ele salva certo com 1+ .
e pra quando inserta campo codigo ja troca codigo
GOSTEI 0
Marcos Saffran

Marcos Saffran

07/10/2013

Felipe,
em meus programas não deixo que o usuário veja o código no momento da inserção, recomendo que você faça o mesmo.
GOSTEI 0
Felipe Barlera

Felipe Barlera

07/10/2013

Jeito deixa assim entao
GOSTEI 0
POSTAR