Fórum Descobrir qual Codigo será gravado #595204

29/06/2018

0

Saudações a todos. (Delphi XE8 - e SQL Server Management Studio 2014)

Criei uma tabela "OrdemServico" e o campo codigo é de Incremento: "IdCodigo INT IDENTITY(1,1) NOT NULL,"
Bom.... após fazer o cadastro da "OS", o sistema automaticamente irá gerar o preview da Órdem de Serviço no Reporter Builder
Até então tudo muito simples, né? Capturei todos os campos preenchidos no forme e mandei mostrar no Preview do Rep. Builder
Mas o único que não consigo capturar/mostrar é o Número da OS que é o "IdCodigo"
Como faço pra saber qual código será gravado na minha tabela?
Ou seja, qual é o meu IdCodigo do atual registro que está sendo gravado ?

Se fosse só um computador eu poderia dar o Post, depois o ApllyUpdate e depois um "dsOs.DataSet.Last;" e então pegar do último registro.
Mas eu já estou pensando numa rede com vários usuários e todos gravando ao mesmo tempo....
Como faço pra pegar/saber/capturar o "IdCodigo" que vai ser gravado?
Tenho que pegar da memória ??? Como?? Como escrever essa rotina ??
Agradeço a quem puder me passar a experiência. Obrigado!
Leodevir Mauricio

Leodevir Mauricio

Responder

Post mais votado

12/07/2018

Olá bom dia,

Partindo do principio que seu campo IdCodigo é um autoincrement para saber qual valor será gravado você tera que fazer um select na tela incrementando +1.

João Filho

João Filho
Responder

Gostei + 1

Mais Posts

12/07/2018

Raimundo Pereira

Bom dia!
Não sei como funciona no SQL Server Management Studio 2014.

Mais no Firibird eu realizo um select no generator, usando uma query onde me retornada o próximo id.
SELECT GEN_ID(GEN_SV_PERFIL_ID, 1) FROM RDB$DATABASE;

Se não tiver esta opção no SQL Server Management Studio 2014.
O que você pode fazer é realizar um select com order by id.
Capturar o ultimo id e somar mais 1.
Responder

Gostei + 0

12/07/2018

Raimundo Pereira

Veja se ajuda:
Faça o teste no SQL Server.

@@IDENTITY retorna o identity após executarmos um INSERT.

Para pegar o último identity você pode utilizar a função IDENT_CURRENT('tblName').
DECLARE @NextId INT
SET @NextId = IDENT_CURRENT('Tabela') + 1

Responder

Gostei + 0

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

Aceitar