2012-03-20 18 views
6
Dim insert_coupon_query As String = ("INSERT INTO qa_discountcoupons (id, status_code) VALUES (AUTO_INCREMENT_ID, 5)") 
       Dim cmd_query As New MySqlCommand(insert_coupon_query, objConn) 
       Dim cmd_result As Integer = CInt(cmd_query.ExecuteScalar()) 

Quiero devolver el valor AUTO_INCREMENT de la inserción actual, y mostrar en un MsgBox.Última ID (identidad) En Insertar fila VB.NET MySQL

+0

¿De verdad está pasando una identificación como lo sugiere la consulta? ¿O es realmente un autoincremento? En MySQL puede seleccionar 'LAST_INSERT_ID' para obtener el último ID autoincrementado en una transacción. – David

+0

No, la ID es generada por MySQL, solo paso el código de estado –

Respuesta

13

puede utilizar un doble de consultas y utilizar la función LAST_INSERT_ID() Después de ejecutar la primera consulta para obtener la última consulta actual:

Dim insert_coupon_query As String = ("INSERT INTO qa_discountcoupons (status_code) VALUES (5); SELECT LAST_INSERT_ID()") 
       Dim cmd_query As New MySqlCommand(insert_coupon_query, objConn) 
       Dim cmd_result As Integer = CInt(cmd_query.ExecuteScalar()) 

       MsgBox(cmd_result) 
+0

¡Funciona perfectamente !, Gracias –

+0

Nunca pensamos que podríamos usar una doble consulta en la sentencia vb.net sql. Ayuda a obtener el número de incremento automático de la columna ID. Gracias. – surpavan

0

Usted puede recuperar el valor AUTO_INCREMENT para una mesa a través de un MySQL query y luego demostrar que en su MsgBox

Cuestiones relacionadas