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

简介: 点点细雨的原创博文!供各位在编程之路的同学们参考~本人博文允许转载,但请在文章显著位置注明转载出处以及原文链接,谢谢合作!昨天我们做到了数据库的搭建,数据库搭建完成后就是整个项目的搭建,那么首先就是三层架构。
点点细雨的原创博文!供各位在编程之路的同学们参考~
本人博文允许转载,但请在文章显著位置注明转载出处以及原文链接,谢谢合作

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

/// <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里都添加一个填充实体数据的函数,这样能增加代码的重用性。上面那种注释方式也会在业务逻辑层引用的时候给出文字的提示。
目录
相关文章
|
前端开发 JavaScript 开发者
Typecho-handsome主题美化
本篇文章主要介绍一下handsome主题的美化教程
527 0
Typecho-handsome主题美化
|
存储 前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第一百零八题-切换tab栏目
#yyds干货盘点# 前端歌谣的刷题之路-第一百零八题-切换tab栏目
85 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百零八题-切换tab栏目
|
前端开发
前端工作总结229-代码中漫花谷出现很多NBSP
前端工作总结229-代码中漫花谷出现很多NBSP
95 0
前端工作总结229-代码中漫花谷出现很多NBSP
|
存储 Java Android开发
Window十二问(快扶我起来,我还能问)
关于Window,你了解多少呢?看看下面这些问题你都能答上来吗。
168 0
Window十二问(快扶我起来,我还能问)
用了这么久的Markdown了,来说两句|CSDN编辑器测评
用了这么久的Markdown了,来说两句|CSDN编辑器测评
用了这么久的Markdown了,来说两句|CSDN编辑器测评
这下简书上的markdown完整了
最近用简书的markdown写作时,偶尔发现简书又支持几个markdown扩展语法。 第一个是上标, 实现方法是用两个^包围需要上标的字符,如hoptop^TM^, 效果为hoptopTM 第二个是下标, 实现方法是用两个~包围需要下标的字符,如hoptop~TM~, 效果就是hoptopTM 这两个语法在简书官方markdown推文-献给写作者的 Markdown 新手指南-中并没有提到, 算时最近写作的一些小惊喜吧。
1057 0
|
SQL 数据库 数据库管理
[UWP小白日记-2]SQLite数据库DOME
原文:[UWP小白日记-2]SQLite数据库DOME   数据库说简单点就是增删改查,但是对新手来说也是要爆肝的。作为一个新手爆肝无数次啊, 血的教训啊现在UWP的教程又少,说多了都是泪。留下来免得以后又爆肝。
1393 0
&amp;#9733;10&amp;nbsp;个实用技巧,让Finder带你飞~
10 个实用技巧,让 Finder 带你飞 Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器。
1360 0