点点细雨的项目日记(三) 三…

举报
小雨青年 发表于 2022/03/28 23:29:53 2022/03/28
【摘要】 点点细雨的原创博文!供各位在编程之路的同学们参考~ 本人博文允许转载,但请在文章显著位置注明转载出处以及原文链接,谢谢合作! 昨天我们做到了数据库的搭建,数据库搭建完成后就是整个项目的搭建,那么首先就是三层架构。 三层架构,就是数据访问层、业务逻辑层和表示层三部分,整...
点点细雨的原创博文!供各位在编程之路的同学们参考~
本人博文允许转载,但请在文章显著位置注明转载出处以及原文链接,谢谢合作

昨天我们做到了数据库的搭建,数据库搭建完成后就是整个项目的搭建,那么首先就是三层架构。
三层架构,就是数据访问层、业务逻辑层和表示层三部分,整体穿插一个实体类进行数据的传递。
值得一提的是这次数据访问层的搭建方式,跟原来有很大的不同。

/// <summary>
        /// 根据用户名,密码得到单个管理员
        /// </summary>
        /// <param name="userName">用户名称</param>
        /// <param name="password">用户密码</param>
        /// <returns>管理员对象</returns>
        public  users GetUsersByNameAndPwd(string username, string userspassword)
        {
            users users = new users();
            using (SqlConnection connection = new SqlConnection(connString))
            {

                SqlCommand command = new SqlCommand("select * from users where users_name=@username and users_pwd=@userpassword", connection);
                command.Parameters.Add("@username", SqlDbType.VarChar, 50);
                command.Parameters.Add("@userpassword", SqlDbType.VarChar, 256);
                command.Parameters[0].Value = username;
                command.Parameters[1].Value = userspassword;
                connection.Open();
                using (SqlDataReader usersReader = command.ExecuteReader())
                {
                    if (usersReader.Read())
                    {
                        users = FillData(usersReader);
                        return users;
                    }
                    else
                    {
                        return null;
                    }
                }
            }
        }
        /// <summary>
        /// 填充数据实体
        /// </summary>
        /// <param name="usersReader">数据读取器</param>
        /// <returns>填充数据后的数据实体</returns>
        private static users FillData(IDataReader usersReader)
        {
            users users = new users();
            users.Users_id = usersReader.GetInt32(usersReader.GetOrdinal("Users_id"));
            users.Users_name = usersReader.GetString(usersReader.GetOrdinal("Users_name"));
            users.Users_pwd = usersReader.GetString(usersReader.GetOrdinal("Users_pwd"));
            users.Users_power = usersReader.GetBoolean(usersReader.GetOrdinal("Users_power"));
            return users;
        }
这次采用了每个表对应的DAL里都添加一个填充实体数据的函数,这样能增加代码的重用性。上面那种注释方式也会在业务逻辑层引用的时候给出文字的提示。

文章来源: coderfix.blog.csdn.net,作者:小雨青年,版权归原作者所有,如需转载,请联系作者。

原文链接:coderfix.blog.csdn.net/article/details/16961977

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。