承志医院管理系统项目解析 登录(一)

来源:互联网 发布:淘宝二手 雷蛇黑寡妇 编辑:程序博客网 时间:2024/04/30 05:42

1功能实现

1.1登录

在登录之前要输入用户名和密码,如图(1)

图(1)

从图中可以看出登录界面主要由两个文本框和登录按钮组成

 

控件名称

说明

文本(TextBox

控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。

图片按钮(PictureBox),登录按钮

 

功能实现

首先在窗体Load事件设置txtPassWord文本显示为“*”

  

 private void Form1_Load(objectsender, EventArgs e)        {                       txtPassWord.PasswordChar = Convert.ToChar("*");               }

 

第一步:数据库

1.表已关系

 

1:用户表

 

列名

数据类型

主键/外键

说明

UserID

Int

主键

用户ID

UserName

nchar(10)

 

用户名

UserCode

nchar(20)

 

用户代码

Password

nchar(20)

 

密码

 

 

2.登录代码

第一步:数据库的存储过程

第二步:逻辑层(BLL)代码

 

 DALPublic.DALMethod myDALMethod = new DALPublic.DALMethod();        [OperationContract]public DataSet Frm_Login_SelectSYS_UserList()        {            SqlParameter[] mySqlParameters = {                                               new SqlParameter ("@Type",SqlDbType .Char),                                                                                       };            mySqlParameters[0].Value = "Frm_Login_SelectSYS_UserList";                      DataTable dt = myDALMethod.QueryDataTable("登Ì?录?_Frm_Login", mySqlParameters);            DataSet ds = new DataSet();            ds.Tables.Add(dt);            return ds;        }


 

第三步:界面层(UIL)代码,txtPassWord

按钮单击事件代码

 

dtUser = myFrm_LoginClient.Frm_Login_SelectSYS_UserList().Tables[0]; //声明一个DataTable查询用户            for (int i = 0; i < dtUser.Rows.Count; i++)//遍历每个用户            {                strUserCode = dtUser.Rows[i]["UserCode"].ToString().Trim();//获取他的代码                if (txtUserCode.Text == strUserCode)//如果文本框代码正确                {                    intUserID = Convert.ToInt32(dtUser.Rows[i]["UserID"]);//获取他的ID                    txtUserName.Text = dtUser.Rows[i]["UserName"].ToString().Trim();//在隔壁文本框显示他的登录名                }            }            if (txtUserCode.Text == "")            {                txtUserName.Text = "";            }

3:登录单击事件代码

第一步:数据库的存储过程

if(@Type='Frm_Login_SelectSYS_UserListWherePassword')beginSELECT     Password,UserIDFROM       SYS_UserListend

 

第二步:逻辑层(BLL)代码

[OperationContract]        public DataSet Frm_Login_SelectSYS_UserListWherePassword()        {            SqlParameter[] mySqlParameters = {                                               new SqlParameter ("@Type",SqlDbType .Char),                                                                                                                                    };            mySqlParameters[0].Value = "Frm_Login_SelectSYS_UserListWherePassword";                       DataTable dt = myDALMethod.QueryDataTable("登Ì?录?_Frm_Login", mySqlParameters);            DataSet ds = new DataSet();            ds.Tables.Add(dt);            return ds;        }


 

第三步:界面层(UIL)代码

 

 int Userid = 0;            if (txtUserCode.Text == "")//如果用户名代码为空,提示请输入用户名代码            {                MessageBox.Show("请输入用户名.");                return;            }            if (txtPassWord.Text == "")            {                MessageBox.Show("请输入密码.");//如果密码为空,提示请输入密码                return;            }            if (txtUserName.Text == "")            {                MessageBox.Show("经检测,没有此用户名.");//如果用户名为空,则提示经检测,没有此用户名                txtPassWord.Text = "";                return;            }            DataTable dtid = myFrm_LoginClient.Frm_Login_SelectSYS_UserListWherePassword().Tables[0];//查询用户            for (int i = 0; i < dtid.Rows.Count; i++)//循环遍历用户            {                Userid = Convert.ToInt32(dtid.Rows[i]["UserID"]);//获取用户ID                strPassWord = dtid.Rows[i]["PassWord"].ToString().Trim();//获取用户密码                if (txtPassWord.Text == strPassWord && Userid == intUserID)//如果密码和用户ID相同就进入登录界面                {                    Main myMain = new Main();                    myMain.Show();                    this.Hide();                    return;                }                         }            if (txtPassWord.Text != strPassWord && Userid != intUserID)//否则提示            {                MessageBox.Show("密码错误.");                txtPassWord.Text = "";                return;            }    

4:在窗体的MouseClick事件写下面代码,和txtPassWord

单击的一样,为的是在单击窗体任一位置时功能实现

  private void Form1_MouseClick(object sender, MouseEventArgs e)        {            dtUser = myFrm_LoginClient.Frm_Login_SelectSYS_UserList().Tables[0];            for (int i = 0; i < dtUser.Rows.Count; i++)            {                strUserCode = dtUser.Rows[i]["UserCode"].ToString().Trim();                if (txtUserCode.Text == strUserCode)                {                    intUserID = Convert.ToInt32(dtUser.Rows[i]["UserID"]);                    txtUserName.Text = dtUser.Rows[i]["UserName"].ToString().Trim();                }            }            if (txtUserCode.Text == "")            {                txtUserName.Text = "";            }        }


 

5,:当再次点击txtUserCode时,清空全部

private void txtUserCode_Click(object sender, EventArgs e)        {            if (txtUserCode.Text != "")            {                txtUserCode.Text = "";                txtUserName.Text = "";            }        }

                                                                                                          仅供学习,禁止用于商业用途,违者后果自负
                                                                                                                                

 

0 0
原创粉丝点击