C sharp - PROBLEMA CON VALOR NULL

 
Vista:
Imágen de perfil de Orlando
Val: 1
Ha disminuido su posición en 64 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

PROBLEMA CON VALOR NULL

Publicado por Orlando (1 intervención) el 10/10/2017 06:12:20
Hola, tengo un textbox llamado txtTelefono y en mi base de datos mysql una tabla llamada Trabajador que su campo telefono esta desactivada la opcion not null osea pueda aceptar valores nulos, en mi windowsform mi txtTelefono de mi formulario si mando vacio ese dato me manda un error de que la cadena de entrada no tiene el formato correcto. como puedo solucionar esto yo deseo que se pueda llenar o tambien dejar vacio el textbox de telefono. mi codigo es el siguiente el error capturandolo con el try me sale justo en la linea 171

el error aparece en la capa presentacion en el formularioTrabajador

1

Este es mi método para registrar esta en mi capa Datos


2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 356
Plata
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

PROBLEMA CON VALOR NULL

Publicado por Miguel (160 intervenciones) el 10/10/2017 16:51:21
Hola,

Pues inicialmente veo que estás enviando el campo 'telefono' como tipo INT (que supongo está declarado así en la base de datos y en el objeto entidad), yo recomendaría usar VARCHAR (por ejemplo, si quieres usar algún guión, espacio, paréntesis, o signo +) aunque no es necesario. Si el campo es VARCHAR y quieres asegurarte de no enviar algún 'NULL', simplemente realiza la verificación y asigna una cadena vacía cuando sea necesario (antes de pasar el parámetro al MySqlCommand).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 707
Oro
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

PROBLEMA CON VALOR NULL

Publicado por Wilfredo Patricio Castillo (416 intervenciones) el 10/10/2017 20:10:57
El error es tan ingenuo que no te das cuenta?.

Si el campo o propiedad telefono es de tipo entero, entonces lo que te hace falta es verificar si hay un valor ingresado en el textobox teléfono.
Sino, como pretendes convertir a entero algo que no existe?, ese es tu problema, estás tratando de convertir a entero algo que no existe, por eso dice que el formato no es correcto.

Para evitar ese problema, verifica si no hay nada en el txttelefono, le asignas a la propiedad telefono directamente un 0 (cero), caso contrario ya puedes convertir a entero lo que haya en el textbox.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PROBLEMA CON VALOR NULL

Publicado por juancho (2 intervenciones) el 03/11/2017 02:21:50
Lo que tienes que hacer antes de llenar la entidad trabajador con los datos es validarlos, ya sea si la propiedad Telefono está definida como Int o número.

Puedes verificarlo de la siguiente manera, yo puse el ejemplo tomando en cuenta que el número puede ser largo y por eso uso double.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double _variableTelefono = 0;
//control por ingreso de nulos
if (string.IsNullOrEmpty(txtTelefono.Text))
{
    MessageBox.Show("Ingrese un teléfono.");
    return;
}
//Controla que el ingreso sea un número (no controla formato ni largo)
//ejemplo 1:
//Valida si la representación de texto puede ser convertida en número. No devuelve error, solamente intenta convertir
double.TryParse(txtTelefono.Text, out _variableTelefono);
 
//ejemplo 2:
//Verifica como arriba pero devuelve un mensaje
if (!double.TryParse(txtTelefono.Text, out _variableTelefono))
{
    MessageBox.Show("El teléfono que está intentando ingresar no es válido.");
}
 
//Si llegó hasta aquí, entonces asignar la variable _variableTelefono
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar