Usuario
Autoincrementar Primary key para introducir datos en bbdd mysql desde visual studio

Pregunta
-
Buenas he aqui mi problema:
Dim conexion As New MySqlConnection("Server=localhost;Database=grupomontes;Uid=....;Pwd=......;")
Dim cn As New MySqlCommand("insert into clientes (id_clientes,razon_social,direccion,cp,localidad,poblacion,telefono,nif) values (max(id_clientes)+1 ,'" + txtrazonsocial.Text + "','" + txtdireccion.Text + "','" + txtcp.Text + "','" + txtpoblacion.Text + "','" + txtprovincia.Text + "','" + txttelefono.Text + "','" + txtnif.Text + "')", conexion)
Try
conexion.Open()
cn.ExecuteNonQuery()
MsgBox("Cliente creado correctamente")
Catch ex As Exception
MsgBox("Rellena todos los campos")
Finally
conexion.Close()
txtcp.Text = ""
txtdireccion.Text = ""
txtncliente.Text = ""
txtnif.Text = ""
txtpoblacion.Text = ""
txtprovincia.Text = ""
txtrazonsocial.Text = ""
txttelefono.Text = ""
End TryAl ir dando de alta clientes el id_clientes debe de ir autoincrementandose solo. en la bbdd ya esta definido como autoincrementar.
Como lo tengo que hacer.
Es mi 1 trabajillo en esto.
gracias
Todas las respuestas
-
Hola.
Simplemente tienes que omitirlo del insert. Si está autoincremental en mysql, se hará de forma automática.
Por lo tanto, tu comando sería algo como esto
Dim cn As New MySqlCommand("insert into clientes (razon_social,direccion,cp,localidad,poblacion,telefono,nif) values ("'" + txtrazonsocial.Text + "','" + txtdireccion.Text + "','" + txtcp.Text + "','" + txtpoblacion.Text + "','" + txtprovincia.Text + "','" + txttelefono.Text + "','" + txtnif.Text + "')", conexion)
"En los momentos de crisis, sólo la imaginación es más importante que el conocimiento" -
revisa la respuesta que brindo aqui
http://social.msdn.microsoft.com/Forums/es/vcses/thread/35ceb063-9908-4f69-9988-3cbcfdaa25b6
http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/1d9499de-f452-4381-94b1-fff919d67d1d
veras que el id si es autonumerico no debes ponerlo en la query
este lo genera la tabla tu luego usas el
SELECT LAST_INSERT_ID();
para recuperar el id generado
y por sobre todo usa parametros, los parametros en mysql los defines con el ? en sql server los defines con el @
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Buenas,
me quedo tal que asi:
Dim conexion As New MySqlConnection("Server=localhost;Database=grupomontes;Uid=root;Pwd=;")
Dim cn As New MySqlCommand("insert into clientes (razon_social,direccion,cp,localidad,poblacion,telefono,nif) values (?razon_social,?direccion,?cp,?localidad,?poblacion,?telefono,?nif)", conexion)
cn.Parameters.AddWithValue("?razon_social", txtrazonsocial.Text)
cn.Parameters.AddWithValue("?direccion", txtdireccion.Text)
cn.Parameters.AddWithValue("?cp", txtcp.Text)
cn.Parameters.AddWithValue("?localidad", txtpoblacion.Text)
cn.Parameters.AddWithValue("?poblacion", txtprovincia.Text)
cn.Parameters.AddWithValue("?telefono", txttelefono.Text)
cn.Parameters.AddWithValue("?nif", txtnif.Text)Lo que pasa que tenia un cliente de prueba que era el id=100 y ahora todo me los crea a partir de ahi. Los he borrado todos y creado uno nuevo pero continua por el 105,106,107...
-