【毕业设计】登陆功能完成
忙活了一整天,总算是把弄出了一个功能了,虽然在整个网站来看这只是很小的一步,但是就我个人来看,这却是很大的一步。
主要学习了以下功能:
1. 分层次开发思想
- 在原有网站的基础上,添加了一个类库;
- 在类库中添加了“实体”“逻辑”“数据”三个层次的框架;
- 利用引用功能将类库引用到网站项目中。
2. 字符串比较
今天尝试了几种比较的方法,因为要利用IF语句来判断两个字符串是否相等,好做下一步的运算,具体尝试的方法如下:
- 直接用装等号 == 进行比较,失败。双等号只能直接比较“值”,而不能比较“串”,因为串在内存中是以一种数组的形式存在的,而值是以ASCⅡ存在的,所以不能直接比较“串”;
- 利用equals函数进行比较,失败。这个到不是说这个函数不好用,而是因为我在数据库中用的是char(10)类型,所以直接从数据库中提取出来的字符串由于不满10个字符,所以给补充空格了,导致比较失败;
- 利用 .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; } } } }