INSERT + SELECT EM TELA DE CADASTRO.
Boa tarde pessoal, sou novo em tentar desenvolver.
estou fazendo um controle de produtos pro meu trabalho, controle interno de pedidos antecipados.
na tela de pedido de compra fiz o cadastro funcionar no momento do cadastro gostaria de puxar o ID desse ultimo pedido para um textbox na tela propria tela de cadastro, para em seguida fazer o lançamento dos itens.
obrigado desde já
estou fazendo um controle de produtos pro meu trabalho, controle interno de pedidos antecipados.
na tela de pedido de compra fiz o cadastro funcionar no momento do cadastro gostaria de puxar o ID desse ultimo pedido para um textbox na tela propria tela de cadastro, para em seguida fazer o lançamento dos itens.
obrigado desde já
Qual banco de dados esta usando? se possÃvel poste o código do insert.
Mysql, aqui na maquina do trabalho eu não tenho assim que possÃvel eu posto.
select LAST_INSERT_ID()
Retorna o último inteiro criado para uma coluna auto_increment de uma tabela mysql.
Deve ser usado na mesma query para que tenha o resultado esperado, dai é só passar para uma variável e usar como deseja.
AbrirConexão()
convertedados()
SQL = [Ô]INSERT INTO comprasoja (NumPedido,DtPedido,FornSoja,DtVencto,VlrVencto,DtSinal,VlrSinal) VALUES ([ô][Ô] & numpedido & [Ô][ô],[ô][Ô] & datacompra & [Ô][ô],[ô][Ô] & codforn & [Ô][ô],[ô][Ô] & datavenc & [Ô][ô],[ô][Ô] & valorvenc & [Ô][ô],[ô][Ô] & datasinal & [Ô][ô],[ô][Ô] & valorsinal & [Ô][ô])[Ô]
FecharConn()
convertedados()
SQL = [Ô]INSERT INTO comprasoja (NumPedido,DtPedido,FornSoja,DtVencto,VlrVencto,DtSinal,VlrSinal) VALUES ([ô][Ô] & numpedido & [Ô][ô],[ô][Ô] & datacompra & [Ô][ô],[ô][Ô] & codforn & [Ô][ô],[ô][Ô] & datavenc & [Ô][ô],[ô][Ô] & valorvenc & [Ô][ô],[ô][Ô] & datasinal & [Ô][ô],[ô][Ô] & valorsinal & [Ô][ô])[Ô]
FecharConn()
eu não to sabendo jogar os códigos na mesma query
tentei da seguinte forma:
AbrirConexão()
convertedados()
SQL = [Ô]INSERT INTO comprasoja (NumPedido,DtPedido,FornSoja,DtVencto,VlrVencto,DtSinal,VlrSinal) VALUES ([ô][Ô] & numpedido & [Ô][ô],[ô][Ô] & datacompra & [Ô][ô],[ô][Ô] & codforn & [Ô][ô],[ô][Ô] & datavenc & [Ô][ô],[ô][Ô] & valorvenc & [Ô][ô],[ô][Ô] & datasinal & [Ô][ô],[ô][Ô] & valorsinal & [Ô][ô]) [Ô]
SQL += [Ô]SELECT select LAST_INSERT_ID(codcompra)[Ô]
txtCodPedido.Text = CStr(codcompra)
FecharConn()
Citação:SQL += [Ô]SELECT select LAST_INSERT_ID(codcompra)[Ô]
Você está colocando o select duas vezes acima.
Tem que colocar um ponto-e-virgula antes. Tente assim:
OBS: não se esqueça de que os campos numéricos não levam apóstrofo.
Dim sql As String = ([Ô]INSERT INTO comprasoja (NumPedido,DtPedido,FornSoja,DtVencto,VlrVencto,DtSinal,VlrSinal) VALUES ([ô][Ô] & numpedido & [Ô][ô],[ô][Ô] & datacompra & [Ô][ô],[ô][Ô] & codforn & [Ô][ô],[ô][Ô] & datavenc & [Ô][ô],[ô][Ô] & valorvenc & [Ô][ô],[ô][Ô] & datasinal & [Ô][ô],[ô][Ô] & valorsinal & [Ô] [ô]); SELECT LAST_INSERT_ID()[Ô])
Dim cmd As New MySqlCommand(sql, objConn)
Dim id As Integer = CInt(cmd.ExecuteScalar())
MsgBox(id)
OBS: não se esqueça de que os campos numéricos não levam apóstrofo.
o jaba obrigado, ele gerou o que esta na imagem e o id esta recebendo 0
Existe algum objeto aà que não foi instanciado e está sem referência. Acredito que seja o seu objeto conn. Você chegou a abrir a conexão?
Tópico encerrado , respostas não são mais permitidas