Fórum Inserir dados automaticamente #169900
17/07/2003
0
Também como faço para que um campo dessa mesma tabela o código do cliente seja gravado automaticamente.
Denysk
Curtir tópico
+ 0Posts
17/07/2003
Ilanocf
Crie uma variável:
Vamos supor q o campo q vc quer q conte automático se chame CodigoDoCadastro e o campo q vc quer q seja inserida a data se chame DataDoCadastro.
procedure TForm1.Button1Click(Sender: TObject);
Var
VCodigo:Integer;
begin
Tabela.Last;
VCodigo:=TabelaCodigoDoCadastro.Value + 1;
Tabela.Append;
TabelaCodigoDoCadastro.Value:=VCodigo;
TabelaDataDoCadastro.Text:=DateToStr(Date);
end;
Gostei + 0
17/07/2003
Midas
CORRIGINDO A ULTIMA LINHA
editdatacadastro.text:=date();
tabeladatadocadastro.value:=strtodate(editdatacadastro.text);
Gostei + 0
17/07/2003
Jairroberto
É bastante aconselhado que este tipo de ação faça parte das rotinas que compõem as regras de acesso ao banco de dados no seu aplicativo. Sendo assim, uma solução adequada seria executar estas ações no evento BeforePost da tabela, que ocorre imediatamente antes da tentativa do sistema de gravar as informações do registro que está sendo incluído ou editado no banco de dados. Veja um exemplo:
procedure TForm1.Table1BeforePost(DataSet: TDataSet); begin if Table1.State = dsInsert then Table1DataHoraCadastro.Value := Now; if Table1Codigo.IsNull then Table1Codigo.Value := NovoCodigo; end;
Observe que, no exemplo, ´NovoCodigo´ pode ser uma propriedade ou função onde é calculado o novo código para o novo registro da tabela a partir de uma tabela ´sombra´ ou de um SELECT ou Stored Procedure.
Veja que calculando o código no momento da gravação, o risco de ocorrer um erro por tentar incluir dois códigos iguais em um ambiente de rede com dois ou mais usuário simultâneos são bem menores do que se o código for gerado logo no início do processo de inclusão. Há também a vantagem de você gerar este código em um Data Module, sendo que qualquer formulário que usar o Data Module e fizer uma inclusão não terá que conter nenhum código de tratamento desta mesma situação, pois todos estarão seguindo a mesma ´Regra de Negócio´ do banco de dados.
A propósito, em bancos de dados SGDB, como o Firebird ou Interbase, este tipo de ação pode ser realizada por Triggers dentro do próprio banco, o que é ainda mais recomendado.
Um abraço,
Jair
Gostei + 0
18/07/2003
R3yz0r
[b:1a05355df2]variével:=timetostr(time); [/b:1a05355df2]//hora do sistema
[b:1a05355df2]variável:=datetostr(date); [/b:1a05355df2]//data do sistema
simples rapido e eficiente
tu pode por exemplo adicionar diratemante a propriedade *.value do caompo desejado que funciona.
Falow e boas compilações!! :)
Gostei + 0
18/07/2003
Denysk
Brigadão.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)