Fórum autoincremento no sqlserver #208228

21/01/2004

0

Srs,

Estou usando em uma aplicação banco de dados sqlserver, e nas tabelas o campo chave primaria e defini a opção ´identy´ como yes e não permitindo nulo, ou seja isto faz o campo ser autoincremento. Mas o detalhe é que quando na aplicação eu vou inserir um novo registro, dá erro no delphi, dizendo que o campo chave primária precisa conter um valor. Percebi então que o autoincremento é gerado depois da gravação do registro na tabela, mas como na gravação ele não pode permitir valor nulo, então é retornado o erro. O que fazer para ao iniciar o preenchimento do registro ele já incluir o incremento da chave primária antes de eu gravar o registro?

Lourival Oliveira
Sete Lagoas - MG.


Programalista

Programalista

Responder

Posts

21/01/2004

Tina_gervasio

Boa Noite!

Eu tb estou utilizando esta propriedade nas minha tabelas e não tive problemas, ate o momento, com o cadastro.
Experimente não fazer referencia ao código quando estiver fazendo o form. Ligue somente os outros campos a base de dados, quando vc pedir para salver ele ira gerar o codigo sozinho sem problemas. Quando vc for consultar vc ja poderá fazer referencia a ele.
Qualquer duvida entre em contato comigo.

Bjos

Tina


Responder

Gostei + 0

22/01/2004

Programalista

Tina, eu realmente não entendi, pois mesmo eu não referenciando o campo ´código´, quando eu vou salvar o registro o delphi me retorna erro, dizendo que o campo ´código´ não pode ser um valo nulo.


Responder

Gostei + 0

22/01/2004

Eduprp

Colega
Verifique se o campo esta no FIELDSEDITOR. Caso afirmativo retire o mesmo do FIELDSEDITOR e também da cláusula SQL que vc esta usando para editar o registro

Eduardo M. Pereira


Responder

Gostei + 0

22/01/2004

Programalista

Ok Eduardo, funcionou. Mas como fazer para que no form seja exibido o campo de ´codigo´ (autoincremento)? Pois não tenho nenhuma ligação deste campo com o banco de dados, e preciso que ele seja exibido no form.


Responder

Gostei + 0

22/01/2004

Eduprp

Colega

Qual componente de acesso a dados vc esta utilizando?
Quando inclui um registro vc esta utilizando uma cláusula INSERT ou não?
É preciso verificar isso. Normalmente eu utilizo uma cláusula INSERT e não o comando POST. Com isso eu faço com que o banco inclua o registro primeiro e depois eu atualizo a tela.

Eduardo M. Pereira


Responder

Gostei + 0

22/01/2004

Programalista

Estou usando clientdataset, sqldataset...e realmente estou usando o comando post para gravar.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar