Mostrar Auto Increment no TDEdit

Delphi

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.


Mano_froids

Mano_froids

Curtidas 0

Respostas

Godzilla_xf

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

Mano_froids

05/11/2007

Alguém tem o código para fazer isso usando o PARADOX?


GOSTEI 0
Godzilla_xf

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

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

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
POSTAR