首页 > 解决方案 > 未指定连接字符串 C# & 初始化错误

问题描述

我是 .Net 开发的新手,我正在尝试从本地数据库中获取一些数据。

下面是配置文件上的连接字符串

<connectionStrings>
    <add name="ConnectionString" connectionString="server=.\SQLEXPRESS;database=mkhzn;Integrated Security=SSPI;User Instance=True"/>
  </connectionStrings>

下面是调用数据层类的视图模型

class EmployeeDetailsVM : Class1
    {
        private EmployeeUI.Employee _employee;
        public EmployeeUI.Employee Employee
        {
            get => _employee;
            set
            {
                _employee = value;
                OnPropertyChanged("Employee");
            }
        }

        public EmployeeDetailsVM()
        {
            IEmployeeBL employeeBL = new EmployeeBL.EmployeeBL(new EmployeeDAL.EmployeeDAL());
            Console.WriteLine("I'm connected to DB 2");
            Employee = employeeBL.GetAllEmployees().FirstOrDefault();
            Console.WriteLine("Displayed");
        }
    }

下面是数据层类

public class EmployeeDAL : IEmployeeDAL
    {
        
       

        public List<Employee> GetAllEmployees()
        {
            var employees = new List<Employee>();
            string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            using (SqlConnection connection = new SqlConnection(constr))
            {
                connection.Open();
                SqlCommand selectCommand = new SqlCommand("Select * from Employee", connection);
                
                Console.WriteLine("I'm connected to DB");
                SqlDataReader reader = selectCommand.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var employee = new Employee
                        {
                            Employee_ID = reader.GetInt32(0),
                            First_Name = reader.GetString(1),
                            Last_Name = reader.GetString(2),
                            Date_Birth = reader.GetDateTime(3),
                            Street_Address = reader.GetString(4),
                            city = reader.GetString(5),
                            Province = reader.GetString(6),
                            Joining_Date = reader.GetDateTime(7),
                            Resignation_Date = reader.GetDateTime(8)
                        };
                        employees.Add(employee);
                    }
                }
                else { }
                reader.Close();
            }
            return employees;
        }
    }

有人可以引导我找到这个问题的线索吗?如您所见,我正在初始化上述类的连接字符串,但是在调试时显示没有初始化连接字符串。

标签: c#.netsql-serverdatabaseconnection-string

解决方案


推荐阅读