INSERT + SELECT EM TELA DE CADASTRO.

AISLANVGA 05/08/2016 17:17:24
#465535
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á
W8.LISBOA 05/08/2016 17:33:06
#465537
Qual banco de dados esta usando? se possível poste o código do insert.
AISLANVGA 05/08/2016 17:44:16
#465538
Mysql, aqui na maquina do trabalho eu não tenho assim que possível eu posto.
W8.LISBOA 05/08/2016 18:26:37
#465539
  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.
AISLANVGA 05/08/2016 21:09:03
#465541
AbrirConexão()
convertedados()
SQL = [Ô]INSERT INTO comprasoja (NumPedido,DtPedido,FornSoja,DtVencto,VlrVencto,DtSinal,VlrSinal) VALUES ([ô][Ô] & numpedido & [Ô][ô],[ô][Ô] & datacompra & [Ô][ô],[ô][Ô] & codforn & [Ô][ô],[ô][Ô] & datavenc & [Ô][ô],[ô][Ô] & valorvenc & [Ô][ô],[ô][Ô] & datasinal & [Ô][ô],[ô][Ô] & valorsinal & [Ô][ô])[Ô]
FecharConn()
AISLANVGA 05/08/2016 21:32:44
#465542
eu não to sabendo jogar os códigos na mesma query
AISLANVGA 05/08/2016 22:42:59
#465543
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()


JABA 05/08/2016 23:49:06
#465544
Citação:

SQL += [Ô]SELECT select LAST_INSERT_ID(codcompra)[Ô]



Você está colocando o select duas vezes acima.
JABA 06/08/2016 00:23:18
#465545
Resposta escolhida
Tem que colocar um ponto-e-virgula antes. Tente assim:

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.
AISLANVGA 06/08/2016 03:47:01
#465553
o jaba obrigado, ele gerou o que esta na imagem e o id esta recebendo 0
JABA 06/08/2016 09:19:36
#465555
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?
Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas