Hola Naz, ¿me permites llamarte así?
Con respecto a tu problema, te comento, por experiencia propia, que los DBNull son re problemáticos, es difícil depurarlos.
Personalmente he tenido muchos inconvenientes con DBNull, especialmente cuando de TEXTBOXES se trata.
Me parece que el problema puede estar en la línea
Cita:
Código:
BD.Ejecuta("INSERT INTO imei VALUES ('" & TbID.Text & "', '" & CbMarca.Text & "', '" & TbModelo.Text & "', '" & TbColor.Text & "', '" & TbSn.Text & "', '" & TbImei.Text & "', '" & TbOperador.Text & "')")
Pienso que alguno de esos textboxes (yo los prefijo con txt) queda sin rellenar, tú te preguntarás por qué el visual toma la cadena vacía como DBNull y deduzco que primero convierte el NullString en DBNull y luego intenta la conversión DBNull en Integer y allí salta el error ¿por qué visual no hace la conversión a cero automáticamente? eso me gustaría saber.
Fijate los campos de la tabla imei cuyo tipo de dato es INTEGER o ENTERO
Una solución que puedes implementar es la siguiente:
colocar un "0" a la izquierda de todos los textboxes numéricos, o bien usar el método PadLeft:
Opción 1: "0" & txtNumero.text
Opción 2: txtNumero.text.padleft(1, "0")
más info acerca de PadLeft en:
[URL="EL LINK NO SE VISUALIZA COMO LINK"]http://msdn.microsoft.com/es-es/library/92h5dc07(v=vs.80).aspx[/URL]
Código:
He tratado de corregir la apariencia del enlace, pero no hay forma, el foro agrega automáticamente la etiqueta "noparse"
http://msdn.microsoft.com/es-es/library/92h5dc07(v=vs.80).aspx
Me gustaría saber qué hace la función BD.Rellena, tal vez allí esté el problema.
Otra línea que tal vez esté generando el error puede ser
Código:
TbID.Text = (CStr(CInt(BD.Dt.Tables("IDF").Rows(0).Item(0)) + 1))
Para evitar este error se debe verificar antes de asignar el valor al textbox:
Código:
If Not BD.Dt.Tables("IDF").Rows(0).isnull(0) Then
TbID.Text = BD.Dt.Tables("IDF").Rows(0).item(0).tostring
End If
Más info acerca de IsNull en:
Código HTML:
[noparse][URL="EL LINK NO SE VISUALIZA COMO LINK"]http://msdn.microsoft.com/en-us/library/system.data.datarow.isnull.aspx[/URL][/noparse]
Código:
He tratado de corregir la apariencia del enlace, pero no hay forma
http://msdn.microsoft.com/en-us/library/system.data.datarow.isnull.aspx
Espero haberte ayudado.
Saludos cordiales.