autoincremento no sqlserver
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.
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
Curtidas 0
Respostas
Tina_gervasio
21/01/2004
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
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
GOSTEI 0
Programalista
21/01/2004
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.
GOSTEI 0
Eduprp
21/01/2004
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
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
GOSTEI 0
Programalista
21/01/2004
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.
GOSTEI 0
Eduprp
21/01/2004
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
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
GOSTEI 0
Programalista
21/01/2004
Estou usando clientdataset, sqldataset...e realmente estou usando o comando post para gravar.
GOSTEI 0