Mostrar Auto Increment no TDEdit
Olá.
Tenho um campo Auto Increment e não aparece no TDEdit antes de incluiro registro estou usando o PARADOX, já tentei de algumas formas, mas não deu certo.
Se alguem tiver alguma dica ou o código.
Desde já muito obrigado.
Tenho um campo Auto Increment e não aparece no TDEdit antes de incluiro registro estou usando o PARADOX, já tentei de algumas formas, mas não deu certo.
Se alguem tiver alguma dica ou o código.
Desde já muito obrigado.
Mano_froids
Curtidas 0
Respostas
Godzilla_xf
05/11/2007
Olá.
Tenho um campo Auto Increment e não aparece no TDEdit antes de incluiro registro estou usando o PARADOX, já tentei de algumas formas, mas não deu certo.
Se alguem tiver alguma dica ou o código.
Desde já muito obrigado.
O Incremento automatico do codigo so acontece depois que vc der um post na tabela, caso vc queira que ele crie um codigo antes de salvar, vc tem que desenvolver uma pequena rotina que verifica qual o maior codigo e acrescentar + 1;
GOSTEI 0
Mano_froids
05/11/2007
Alguém tem o código para fazer isso usando o PARADOX?
GOSTEI 0
Godzilla_xf
05/11/2007
Alguém tem o código para fazer isso usando o PARADOX?
Digamos que vc tenha uma tabela de nome cad_alunos
[b:c3c925a9fc]cad_alunos
[i:c3c925a9fc]id_aluno
nome
endereco
bla
bla
[/i:c3c925a9fc][/b:c3c925a9fc]
e na sua aplicação vc tem um form com os campos desta tabela, para insert delete edit e assim por diante.
bem faça da seguinte forma:
Antes de dar um post por de ser no evendo [b:c3c925a9fc]BeforePost[/b:c3c925a9fc] da tabela cad_alunos, vc coloca o seguinte codigo.
procedure TForm1.cad_alunosBeforePost(DataSet: TDataSet); var incremento: TQuery; begin incremento := TQuery.Create(nil); try with incremento do begin close; DatabaseName := ´C:\Documents and Settings\Aluno\Desktop\teste´; SQL.Add(´Select Max(id_aluno) from cad_alunos´); open; if Fields[0].IsNull then cad_alunos.FieldByName(´id_aluno´).AsInteger := 1 else cad_alunos.FieldByName(´id_aluno´).AsInteger := Fields[0].AsInteger + 1 end; finally incremento.Free; end; end;
GOSTEI 0
Mano_froids
05/11/2007
O que eu coloco no DATABASENAME? Pois já tentei colocar a base de dados e da erro no diretorio, acho que ele não acha ... também já tentei o caminho da tabela e da a mesma coisa.
GOSTEI 0
Martins
05/11/2007
O que eu coloco no DATABASENAME? Pois já tentei colocar a base de dados e da erro no diretorio, acho que ele não acha ... também já tentei o caminho da tabela e da a mesma coisa.
Vamos tentar assim:
procedure TForm1.cad_alunosBeforePost(DataSet: TDataSet); var incremento: TQuery; begin incremento := TQuery.Create(Self); try with incremento do begin close; //DataBaseName - Informe a pasta aonde está sua tabela. DatabaseName := ´C:\Documents and Settings\Aluno\Desktop\teste´; SQL.Add(´Select Max(id_aluno) from cad_alunos´); open; if Fields[0].IsNull then cad_alunos.FieldByName(´id_aluno´).AsInteger := 1 else cad_alunos.FieldByName(´id_aluno´).AsInteger := Fields[0].AsInteger + 1 end; Except ShowMessage(´Houve um erro na criação do objeto!´); end; end;
Assim deve lhe retornar algo, qualquer coisa estaremos as ordens.
bons códigos.
GOSTEI 0