您好我试图保存日期时间的空值(fechaNac),但我不能这样做。是否可以在asp中使用我的通用代码呢?
public int add(Cliente dato)
{
string cmdText = "insert into clientes values ( @nombre, @apellido,@telefono,@celular,@oldtelefono, @oldcelular, @dni , @fechaNac)";
Dictionary<string, Object> parametros = new Dictionary<string, Object>();
parametros.Add("@nombre", dato.Nombre);
parametros.Add("@apellido", dato.Apellido);
parametros.Add("@telefono", dato.Telefono);
parametros.Add("@celular", dato.Celular);
parametros.Add("@oldtelefono", dato.OldTelefono);
parametros.Add("@oldcelular", dato.OldCelular);
parametros.Add("@dni", dato.Dni);
parametros.Add("@fechaNac", dato.FechaNac);
try
{
return this.setData(cmdText, parametros);
}
catch (Exception ex)
{
throw new Exception("No se pudo insertar el usuario en la base de datos", ex);
}
}
public int setData(string cmdText, Dictionary<string, Object> listaParametros)
{
int res;
using (SqlCommand cmd = new SqlCommand(cmdText, cn)) {
foreach (KeyValuePair<string, Object> parametro in listaParametros) {
cmd.Parameters.AddWithValue(parametro.Key, parametro.Value);
}
Conectar();
try {
res = cmd.ExecuteNonQuery();
} catch (Exception ex) {
throw new Exception("No se pudo insertar el dato", ex);
} finally {
Desconectar();
}
}
return res;
}
提前感谢您的帮助! 亚尼纳
答案 0 :(得分:0)
是的,但您需要先将其合并到DBNull.Value
。
cmd.Parameters.AddWithValue(parametro.Key, parametro.Value ?? DBNull.Value);