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

7 篇文章 0 订阅

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')
begin
SELECT     Password,UserID
FROM       SYS_UserList
end

 

第二步:逻辑层(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 = "";
            }
        }

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

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值