如何解决System.ArgumentNullException: '值不能为空参数名称:providerInvariantName'
我正在尝试使用 N 层架构创建一个 c# 应用程序。 这是我在数据库中插入记录的业务层方法。
public static bool AddEmployeeBL(Employee newEmployee)
{
bool employeeAdded = false;
try
{
if(ValidateEmployee(newEmployee))
{
EmployeeDAL employeeDAL = new EmployeeDAL();
employeeAdded = employeeDAL.AddEmployeeDAL(newEmployee);
}
}
catch (MyException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
return employeeAdded;
}
异常发生在最后一个 catch 块的 throw ex 语句处。
DAL类方法如下,这里是添加数据的方法。
public bool AddEmployeeDAL(Employee newEmployee)
{
bool employeeAdded = false;
try
{
DbCommand command = DataConnection.CreateCommand();
command.CommandText = "uspAddEmployee";
DbParameter param = command.CreateParameter();
param.ParameterName = "@UserId";
param.DbType = DbType.Int32;
param.Value = newEmployee.UserId;
command.Parameters.Add(param);
param = command.CreateParameter();
param.ParameterName = "@Name";
param.DbType = DbType.String;
param.Value = newEmployee.Name;
command.Parameters.Add(param);
int affectedRows = DataConnection.ExecuteNonQueryCommand(command);
if (affectedRows > 0)
{
employeeAdded = true;
}
}
catch (DbException ex)
{
string errorMessage = string.Empty;
errorMessage = ex.Message;
throw new MyException(errorMessage);
}
return employeeAdded;
}
配置类: 公共类 MyConfiguration
static string providerName;
private static string connectionString;
public static string ConnectionString { get => connectionString; set => connectionString = value; }
public static string ProviderName { get => providerName; set => providerName = value; }
public MyConfiguration()
{
providerName = ConfigurationManager.ConnectionStrings["Connection"].ProviderName;
connectionString = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
}
}
解决方法
只需将公共构造函数更改为静态,即可获取连接详细信息。
[ServerWebInputException: 400 BAD_REQUEST "Failed to read HTTP message";
nested exception is org.springframework.core.codec.DecodingException:
JSON decoding error: Cannot construct instance of `c.g.d.Customer`
(although at least one Creator exists): no String-argument
constructor/factory method to deserialize from String value
('/customers/1'); nested exception is
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot
construct instance of `c.g.d.Customer` (although at least one Creator
exists): no String-argument constructor/factory method to deserialize from
String value ('/customers/1')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。