C# – DAO Design Pattern – Root Generic MSSQL DAO Class / Inherit Constructor / Multiple Data Source Connection String 方法
DAO\DAO.cs |
public DAO { private string connstr; private SqlConnection conn; internal SqlCommand cmd; public DAO(string Role) { if (Role == "Acting") this.connstr = ConfigurationManager.AppSettings["????"].ToString(); else if (Role == "UserInfo") this.connstr = ConfigurationManager.AppSettings["????"].ToString(); this.conn = new SqlConnection(this.connstr); } internal SqlConnection getConnection() { … … } internal void ConnectionOpen() { … … } internal void ConnectionClose() { … … } internal void CreateCommandObj( string SQL ) { … … } internal void CommandDispose() { … … } } |
DAO\UserActingDAO.cs |
public UserActingDAO : DAO { public UserActingDAO() : base("Acting") { } public List<xxx> getxxx() { List<xxx> list = new List<xxx>(); this.ConnectionOpen(); this.cmd = this.CreateCommandObj(" SELECT … … … FROM … … "); SqlDataReader reader = this.cmd.ExecuteReader(); while( reader.Read() ) { xxx.xxx = reader["xxx"].ToString(); … … list.Add(xxx); } reader.Dispose(); this.CommandDispose(); this.ConnectionClose(); return list; } } |
DAO\UserInfoDAO.cs |
public UserActingDAO : DAO { public UserInfoDAO() : base("UserInfo") { } … … } |