Fórum Incremento #358569
15/05/2008
0
var ultcod: integer;
begin
DM_dados.tbl_cliente.insert;
tblauxcliente.Open;
tblauxcliente.Last;
ultcod:=tblauxclienteCLI_CODIGO.value+1;
DM_dados.tbl_clienteCLI_CODIGO.value:=ultcod;
tblauxcliente.close;
no caso o tblauxcliente é a table que utilizo no formulario e o tbl_cliente que é uma table no Data Module
Rodrigo X
Curtir tópico
+ 0Posts
16/05/2008
Edineidaniel
Eu não gosto muito de depender de componentes do tipo table para executar este tipo de função, pq a gnt nunca sabe exatamente com o componente erá se comportar... (as vezes certo, as vezes errado)...
Utilizo SQL e nunca mais tive problema...
Faça a adequação desta função para os componentes que vc utiliza, eu uso DBExpress
function AutoInc(Conexao: TSQLConnection; Tabela, Campo: String): String; Var sqlAuto: TSQLDataSet; begin Result := ´1´; try sqlAuto := TSQLDataSet.Create(Nil); try with sqlAuto do begin SQLConnection := Conexao; close; CommandText := ´SELECT MAX(´+Campo+´)+1 as CAMPO FROM ´+Tabela; Open; if not IsEmpty then if Fields[0].AsString <> ´´ then Result := Fields[0].AsString; end; finally sqlAuto.Free; end; except ShowMessage(´Problemas com o AutoIncremento da Tabela [´+tabela+´]!´); end; end;
t+
Edinei
Gostei + 0
16/05/2008
Rodrigo X
CREATE TRIGGER ´GERA_CODIGO_CLIENTE´ FOR ´CLIENTE´
ACTIVE BEFORE INSERT POSITION 0
as
begin
new.cli_codigo = gen_id(gen_cod_cliente,1);
end
^
bem eu utilizo no delphi, so os componentes table datasource, quero saber se puder com detalhes o que eu preciso agora para auto incrementar
pesquisei varias vezes aqui no forum e nada so acho dizendo para outros tipo de banco ou utilizando bdeexpress, e nao conseguir assimiliar
se alguem puder me ajudar utilizo entao como eu disse table e datasource obrigado.
Gostei + 0
17/05/2008
Paullsoftware
Esqueça os componentes ´[b:e7d053fed1]Tables[/b:e7d053fed1]´, ele são componentes que normalmente tazem todos os dados, deve se amarrar a Filters, e as consultas normalmente são usadas com Locate, use SQLQuerys ou de preferência SQLDataSet´s se estiver usando DBExpress, em conjunto com os DataSetProviders e ClientDataSets...
As Querys e DataSet´s aceitam comandos SQL que facilitam e melhoram muito o desempenho de suas aplicações... sem contar que é mais fácil de dar manutenção entre outros...
espero ter ajudado :wink:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)