Fórum como capturar o id no momento do insert #5498

11/05/2009

0

Ola amigos consultores estou enviando essa video demonstando uma falta de conhecimento da minha parte. Seria possivel tambem voces me comentar qual a maneira correta de se fazer isso ? qual componente usar ? Se voces colocarem um showmessage (esse é o id ); ta bom demais o resto eu me viro ; na seguinte condicao proc_tal cadastra showmessage (esse é o id_bairro) ; espero ter sido claro

[#VIDEO-110#]
Carlos Faria

Carlos Faria

Responder

Posts

11/05/2009

Rodrigo Mourão

Carlos nesse caso é  muito complicado. Temos código que são gerados no banco como é o caso do auto incremento.
Eu utilizo uma tecnica que e gerar o codigo antes da inclusão. Eu vou ao banco, pego o ID e ai gero a registro.

Vou lhe enviar um link onde mostro isso numa vídeo aula.

https://www.devmedia.com.br/articles/viewcomp.asp?comp=11275

CASO NÃO TENHA ACESSO A VÍDEO ENTRE EM CONTATO ATRAVÉS DE UM POST QUE LIBERAREMOS A MESMA.

Abs !!!
Responder

Gostei + 0

12/05/2009

Carlos Faria

Talves eu nao tenha me expressado bem , afinal cada caso é um caso eu assisti sua video aula como todas muito boa vc é um grande profissional , mas ao meu ponto de vista nao ha a necessidade de fazer todas aquelas rotinas pois aqui minha situacao e totalmente diferente e vendo a video aula vc vai ver que e bastante simples esse negocio ? Me fale sobre essa queri que eu fiz no projeto dando um insert na tabela atraves da proc e capturando o id Quero sua opiniao sincera ? abs

[#VIDEO-111#]
Responder

Gostei + 0

12/05/2009

Carlos Faria

Acho que de hoje em diante eu vou postar aqui minhas respostas ai no servidor da dev ta muito dificil demora muito e nao cadastra   http://www.4shared.com/file/104848914/fa1152d5/respostaRodrigoIdNoMomentoInsert.html
Responder

Gostei + 0

13/05/2009

Rodrigo Mourão

Olá Carlos !!

Quando disse a você ser complicado não falei no sentido de ser dificil e sim insuficiente. Voce esta numa  aplicacao relativemente pequena e voce nao utiliza master datail com data set field e nao tem grandes concorrencia, ou seja, 50 pessoas gravando ao mesmo tempo na mesma tabela.

A tecnica indicada na vídeo e justamente para suprir estas necessidades. Mas enfim, vamos ao retorno.

Sua storeproc não traz o retor pois sua procedure dentro do SqlServer não tem parametro de retorno. Você tem que criar sua procedure pedindo os parametros para gravar e mais um parametro de retono. Ex:

proc_cad_bairro(
 @pBairro varchar(100),
 @pPonto varchar(100),
 @ID int OUTPUT

)
as
   Insert into Bairro (bairro, ponto) values (@pBairro, @pPonto)
   select @SOMA=@@identity


Agora na no componete Stored Proc vai aparecer mais um parâmetro que você poderá pegar apos chamar o ExecProc.

Estou às Ordens !!

Abs !!!


Responder

Gostei + 0

15/05/2009

Devmedia

Carlos,
em que vc está com duvidas para postar o video?
Recomendo q veja o video "como publicar chamados com video", que se encontra ao lado da opção "MEUS VIDEOS" na home da consultoria.
Responder

Gostei + 0

15/05/2009

Carlos Faria

Como te disse no site da devmedia ta demorando demais para enviar por isso postei pelo shared
Responder

Gostei + 0

16/05/2009

Rodrigo Mourão

Carlos o exemplo que te passei abaixo foi suficiente ?   Estamos aguardando para encerrar o chamado !!!   Abs !!!     Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Responder

Gostei + 0

16/05/2009

Carlos Faria

Nao funcionou no sql ele nao aceitou a rotina dessa maneira fica pedindo o parametro @soma
Responder

Gostei + 0

16/05/2009

Carlos Faria

eu estou online , se vc quizer agente mata todos esses chamados hoje ainda
Responder

Gostei + 0

16/05/2009

Rodrigo Mourão

Eu errei ao digitar. O correto é : proc_cad_bairro(
 @pBairro varchar(100),
 @pPonto varchar(100),
 @ID int OUTPUT

)
as
   Insert into Bairro (bairro, ponto) values (@pBairro, @pPonto)
   select @ID=@@identity Abs !!! Abs !!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi

 
Responder

Gostei + 0

16/05/2009

Carlos Faria

Isso eu tinha entendid/o e fiz exatamente assim o problema e que o campo id e auto incremento entao como ficaria a proc sem inserir o id  , so falta isso para matar de vez
Responder

Gostei + 0

16/05/2009

Rodrigo Mourão

Carlos o parametro ID foi apenas coincidencia. Preste atencao, o parametro ID e de saida. Voce nao precisa passar valor pra ele.  Você testou a procedure ???       Ela pode ser assim :   Eu errei ao digitar. O correto é : proc_cad_bairro(
 @pBairro varchar(100),
 @pPonto varchar(100),
 @MeuCodigoRetornao int OUTPUT

)
as
   Insert into Bairro (bairro, ponto) values (@pBairro, @pPonto)
   select @MeuCodigoRetornao =@@identity     No delphi voce vai passar apenas dois parâmetros, o terceiro e de retorno. Voce vai pegar o ID gerado no banco !!    Abs !!!
Responder

Gostei + 0

16/05/2009

Carlos Faria

eu testei dando um insert no proprio sql server vou tentar no delphi agora e ja respondo
Responder

Gostei + 0

16/05/2009

Carlos Faria

Fecha o chamado mestre o que aconteceu aqui é que pelo delphi insere e captura o id_corretamente pelo sql server da erro , vc nao falou nada   Msg 201, Level 16, State 4, Procedure proc_cad_bairro10, Line 0 Procedure or Function 'proc_cad_bairro10' expects parameter '@MeuCodigoRetornao', which was not supplied.   Mais como te disse no delhi ta funcionando valeu Rodrigo vou abrir mais uns 10 chamados essa semana tudo em video rs
Responder

Gostei + 0

16/05/2009

Carlos Faria

Rodrigo me diz uma coisa sera que eu posso abrir um chamado na sala dot net sendo assinate do pacote delphi , eu tava querendo aprender aqueles fectores e atalhos que vc me enviou lembra ?
Responder

Gostei + 0

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

Aceitar