Foros del Web » Programación para mayores de 30 ;) » .NET »

Error al añadir datos (VB.NET)

Estas en el tema de Error al añadir datos (VB.NET) en el foro de .NET en Foros del Web. Buenos dias: Estoy intentando añadir datos y siempre me da el mismo error: Column 'dni' cannot be nulll El codigo es el siguiente Try Dim ...
  #1 (permalink)  
Antiguo 25/03/2009, 04:22
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 4 meses
Puntos: 1
Error al añadir datos (VB.NET)

Buenos dias:

Estoy intentando añadir datos y siempre me da el mismo error:

Column 'dni' cannot be nulll

El codigo es el siguiente

Try
Dim lsquery As String
lsquery = "Insert into datos(dni,fechainscripcion,nombre,apellidos) values
(@dni,@fechaalta,@nombre,@apellidos)"
Dim loComando As New MySqlCommand(lsquery, Me.oConexion)
loComando.Parameters.Add(New MySqlParameter("@dni", MySqlDbType.Int32))
loComando.Parameters("@dni").Value = Val(Me.txtDni.Text)
loComando.Parameters.Add(New MySqlParameter("@fechaalta", MySqlDbType.Date))
loComando.Parameters("@fechaalta").Value =
CDate(Me.txtFechaInscripcion.Text)
loComando.Parameters.Add(New MySqlParameter("@nombre", MySqlDbType.VarChar))
loComando.Parameters("@nombre").Value = CStr(Me.txtNombre.Text)
loComando.Parameters.Add(New MySqlParameter("@apellidos",
MySqlDbType.VarChar))
loComando.Parameters("@apellidos").Value = CStr(Me.txtApellidos.Text)
Me.oConexion.Open()
loComando.ExecuteNonQuery()
loComando.Dispose()
Call frmGestionCV_Load(Me, New System.EventArgs)
DesactivarCampos()
ActivarBotones()
Catch ex As Exception
MsgBox("Se ha(n) producido errore(s):" & vbCrLf & ex.Message,
MsgBoxStyle.Critical, "Error(es)")
End Try

La clave principal es dni, y el campo asignado en vb es txtdni.text.

He estado obervando la bd, y si tengo asignado como clave primaria dni

Gracias
  #2 (permalink)  
Antiguo 26/03/2009, 09:27
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Error al añadir datos (VB.NET)

Debes fijarte que no sea autoincrement, o que si lo sea, que tipo de dato lo definiste....y necesitas hacer una conversión o algo.

por ejemplo me parece que aqui:

loComando.Parameters.Add(New MySqlParameter("@dni", MySqlDbType.Int32))
loComando.Parameters("@dni").Value = Val(Me.txtDni.Text)

deberias poner integer.parse(Me.txtDni.Text)


porke tu parametro es int32...bueno probá con eso...quizá no tenga que ver pero es lo primero que me salta a la vista.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:51.