[ Foro de C# ]

Agregar DBNull a CommandText

02-Aug-2022 22:47
Invitado (Lalo)
0 Respuestas

SqlCommand command = new SqlCommand();command.Connection = cn;
command.CommandText = "insert Empleados values(" +
"'" + nombre + "'," +
" '" + txtDNI.Text + "'," +
" '" + txtDpto.Text + "'," +
" '" + txtTelefono.Text + "'," +
" '" + txtCargo.Text + "'," +
" '" + txtDireccion.Text + "'," +
" '" + txtFechaNacimiento.Text + "')";
cn.Open();
command.ExecuteNonQuery();
cn.Close();

Tengo este código para insertar nuevo registro en una tabla sql, funciona bien excepto cuando la Fecha de Nacimiento está vacía, sale un error porque la sentencia sql tendría la variable FechaNacimiento faltante.
Puse un control para en caso FechaNacimiento esté vacío, reemplazar txtFechaNacimiento.Text por DBNull.value, pero no funciona porque el CommandText es una cadena y al agregarle el valor DBNull, no agrega nada y el error persiste.
Sé como solucionarlo mediante procedimientos almacenados, pero esta aplicación fue diseñada por otro programador y tengo bastantes casos similares, tendría que cambiar mucho código, quiero darle solución temporal rápida y ya luego crearé los PA y todo lo demás.

Si alguien conoce como pasarle al CommandText el valor DBNull y que funcione, agradeceré lo comparta, gracias




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)