Array
(
)

contador

Cpd_arim
   - 24 nov 2005

preciso criar um contador para um campo autoincremento, estou trabalhando com o sql server e ele não tem campoautoincremeto, alguém pode dar um idéia.


Mahdak
   - 24 nov 2005


Citação:
preciso criar um contador para um campo autoincremento, estou trabalhando com o sql server e ele não tem campoautoincremeto, alguém pode dar um idéia.


Auto Incremento eu nao to usando aqui por motivos pessoais, porem tenho uma rotina bem legalls, caso vc se interesse vou colar aqui o código de um formulario meu que gera os códigos via SQL

#Código


// Contador de Código
DM.qry_autcod.Open;
DM.qry_autcod.SelectSQL.Clear;
DM.qry_autcod.SelectSQL.add(´SELECT (MAX(CODIGO) + 1 ) PROX FROM AUTORES ´);
dm.qry_autcod.open;
cod := dm.qry_autcod.fields[0].AsInteger;
if cod = null then
begin
cod:=0;
end
else
cod:=cod;
DM.qry_AutCod.Close;

Edit_Codigo.Text := IntToStr(cod);



Tnaires
   - 24 nov 2005

Olá
SQL Server possui, sim, auto incremento. Na tela de design da tabela, marque a opção ´Identity´. O incremento do campo é ajustado na opção ´Increment´.
Mas se vc ainda resolver utilizar a rotina indicada pelo nosso colega, tenha em mente que ela pode gerar conflito em registros gerados na rede dentro de um intervalo curto d tempo.
Abraços


Cpd_arim
   - 25 nov 2005

Obrigado


Já sanou minha dúvida, mas ainda não consigo editar, esta com erro
qual é o procedimento correto para criar o campo auto incremento,
fiz como vc havia postado, mas esta dando erro? pode me ajudar de novo?
o campo esta como int, ajustei o identy o que preciso fazer agora?


Tnaires
   - 25 nov 2005

Olá
Quando vc definir seu campo auto-incremento, simplesmente marque a propriedade Identity. Quando vc inserir registros, o SQL Server cuidará da numeração desse campo ( vc não precisa fornecer valores para ele ).
Abraços


Cpd_arim
   - 28 nov 2005

Valeu,
Eu é que pisei na bola, uso o componente update sql e nesse caso precisava excluir o campo auto incremento da query e havia me esquecido, porque ao inserir na tabela ele dava erro dizendo que o identity estava off, mas valeu esta resolvido, :oops: :oops: :oops: