【毕业设计】登陆功能完成

【毕业设计】登陆功能完成

忙活了一整天,总算是把弄出了一个功能了,虽然在整个网站来看这只是很小的一步,但是就我个人来看,这却是很大的一步。

主要学习了以下功能:

1. 分层次开发思想

    1. 在原有网站的基础上,添加了一个类库;
    2. 在类库中添加了“实体”“逻辑”“数据”三个层次的框架;
    3. 利用引用功能将类库引用到网站项目中。

image 

2. 字符串比较

今天尝试了几种比较的方法,因为要利用IF语句来判断两个字符串是否相等,好做下一步的运算,具体尝试的方法如下:

  1. 直接用装等号 == 进行比较,失败。双等号只能直接比较“值”,而不能比较“串”,因为串在内存中是以一种数组的形式存在的,而值是以ASCⅡ存在的,所以不能直接比较“串”;
  2. 利用equals函数进行比较,失败。这个到不是说这个函数不好用,而是因为我在数据库中用的是char(10)类型,所以直接从数据库中提取出来的字符串由于不满10个字符,所以给补充空格了,导致比较失败;
  3. 利用 .Trim().Equals(另一个“串”)来比较,成功。因为采用了Trim方法,所以将提取出来的带有空格的数据格式化了一下,将空格全都拿下了,再用Equals来比较,这样就能比较出正确的结果了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Layer.BlogDesignEntities;
using System.Data;
using System.Data.SqlClient;
using Layer.BlogDesignDataAccess.UserDAL;

namespace Layer.BlogDesignLogic.UserBLL
{
    public class UserBLL:IUserBLL
    {
        bool IUserBLL.UserLoginCheck(UserInfo Use)
        {
            IUserDAL User = new UserDAL();
            UserInfo u;

            string userName=Use.UserName;
            string passWord=Use.PassWord;

            if (string.IsNullOrEmpty(userName))
            {
                return false;
            }

            if (String.IsNullOrEmpty(passWord))
            {
                return false;
            }

            u = User.getUserInfo(userName);
            
            if (u.UserName == null)
            {
                return false;
            }
            else
            {
                if (u.UserName.Trim().Equals(userName))
                {
                    if (u.PassWord.Trim().Equals(passWord))
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    return false;
                }
            }
        }
    }
}

3. 单字段读取

字段的读取,我是用了Reader的方法来读的。Reader["数据库中的字段名"]。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Layer.BlogDesignEntities;
using System.Data;
using System.Data.SqlClient;
namespace Layer.BlogDesignDataAccess.UserDAL
{
    class UserDAL:IUserDAL
    {
        string strConn = @"server=WIN-R3IAEV0RKR1\SQLEXPRESS;database=BlogDesign;uid=skyler;pwd=skyler";

        SqlConnection conn;
        SqlCommand cmd;

        UserInfo IUserDAL.getUserInfo(string userName)
        {
            string strCmd = "select * from Users where UserName='"+userName+"'";
            conn = new SqlConnection(strConn);

            conn.Open();
            cmd = conn.CreateCommand();
            cmd.CommandText = strCmd;

            UserInfo u = new UserInfo();
            SqlDataReader reader = cmd.ExecuteReader();

            if (reader.Read())
            {
                u.UserId = (int)reader["UserId"];
                u.PassWord = (string)reader["PassWord"];
                u.UserName = (string)reader["UserName"];
                u.UserMail = (string)reader["UserMail"];
                u.UserRight = (int)reader["UserRight"];
                reader.Close();
                conn.Close();
                return u;
            }
            else
            {
                return u;
            }
        }
    }
}

原文地址:https://www.cnblogs.com/skyler/p/1710512.html