como capturar o id no momento do insert
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#]
[#VIDEO-110#]
Carlos Faria
Curtidas 0
Respostas
Rodrigo Mourão
11/05/2009
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 !!!
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 !!!
GOSTEI 0
Carlos Faria
11/05/2009
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#]
[#VIDEO-111#]
GOSTEI 0
Carlos Faria
11/05/2009
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
GOSTEI 0
Rodrigo Mourão
11/05/2009
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 !!!
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 !!!
GOSTEI 0
Devmedia
11/05/2009
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.
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.
GOSTEI 0
Carlos Faria
11/05/2009
Como te disse no site da devmedia ta demorando demais para enviar por isso postei pelo shared
GOSTEI 0
Rodrigo Mourão
11/05/2009
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
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Carlos Faria
11/05/2009
Nao funcionou no sql ele nao aceitou a rotina dessa maneira fica pedindo o parametro @soma
GOSTEI 0
Carlos Faria
11/05/2009
eu estou online , se vc quizer agente mata todos esses chamados hoje ainda
GOSTEI 0
Rodrigo Mourão
11/05/2009
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
@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
GOSTEI 0
Carlos Faria
11/05/2009
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
GOSTEI 0
Rodrigo Mourão
11/05/2009
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 !!!
@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 !!!
GOSTEI 0
Carlos Faria
11/05/2009
eu testei dando um insert no proprio sql server vou tentar no delphi agora e ja respondo
GOSTEI 0
Carlos Faria
11/05/2009
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
GOSTEI 0
Carlos Faria
11/05/2009
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 ?
GOSTEI 0
Rodrigo Mourão
11/05/2009
Vou perguntar ao pessoal da ADM !!
Abs!!
Abs!!
GOSTEI 0
Devmedia
11/05/2009
Carlos,
não será possível vc abrir chamados na sala de .net pq a sua consultoria é somente para delphi. Se desejar aprender .net, basta entrar em contato com nosso atendimento e compre a consultoria.
Vale lembrar que os chamados de um não valem para o outro.
não será possível vc abrir chamados na sala de .net pq a sua consultoria é somente para delphi. Se desejar aprender .net, basta entrar em contato com nosso atendimento e compre a consultoria.
Vale lembrar que os chamados de um não valem para o outro.
GOSTEI 0