Fórum Descobrir qual Codigo será gravado #595204
29/06/2018
0
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
Curtir tópico
+ 0Post mais votado
12/07/2018
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
Gostei + 1
Mais Posts
12/07/2018
Raimundo Pereira
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.
Gostei + 0
12/07/2018
Raimundo Pereira
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)