C#登录窗口(访问数据库)的制作,类文件的制作及使用

一、类文件的编写及使用。
可以单独建立一个类文件(使用记事本),然后包含在项目中,使用时加上该类的命名空间,就可以使用这个类了。

image

如何在一个项目里包含一个类文件?

1.在项目里新建一个文件夹;

2.将类文件放在这个文件夹里;

3.在vs界面的解决方案资源管理器里,点击“显示全部文件”按钮,然后选中这些文件,右击—>”包含在项目里”;

4.在项目的其他地方引用命名空间后,就可以使用这些类了。

二、登录窗口的制作

我们可以借助一个类文件生成器(Code Smith),帮助我们制作需要的类,下面的是使用Code Smith连接数据库的表后,根据模板生成的类。

image

点击登陆

image

//点击登陆按钮
        private void button1_Click(object sender, EventArgs e)
        {

            string userName = textUser.Text;
            string PWD = textPWD.Text;
            //调用方法,访问数据库,核对数据
            LoginData data= new LoginDA().Select(userName ,PWD);
            //如果访问到数据,弹出主窗口
            if (data != null)
            {
                Main f = new Main();
                f.Show();
            }
            else
            {
                MessageBox.Show("登录失败");
            }
           
        }

三、捕获异常

这是一个类文件里的查询数据方法,

把可能出现问题的步骤放在try里面,如果有异常(比如,连接数据库出现网络问题),进入catch,我们可以选择抛出此异常或其他操作。finally里面是不受异常影响,总是执行的语句。

//根据输入的用户名、密码访问数据库
        public LoginData Select(string userName,string PWD)
        {
            LoginData data = null;
            _Cmd.CommandText = "select * from login where userName = @userName and userPwd=@userPwd";
            _Cmd.Parameters.Clear();
            _Cmd.Parameters.AddWithValue("@userName", userName);
            _Cmd.Parameters.AddWithValue("@userPwd", PWD);

            try
            {
                _Conn.Open();
                SqlDataReader dr = _Cmd.ExecuteReader();
                while (dr.Read())
                {
                    data = new LoginData();
                    data.UserName = (String)dr["userName"];
                    data.UserPwd = (String)dr["userPwd"];
                    data.UserIdentity = (String)dr["userIdentity"];
                }
                dr.Close();
                dr.Dispose();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _Conn.Close();
                _Cmd.Dispose();
                _Conn.Dispose();
            }
            return data;
        }

下面是关闭数据库服务后,调用上面方法的结果(抛出异常)

image

三、隐藏登录窗口

if (data != null)
            {
                Main f = new Main();
                this.Visible = false;//设置登录窗口不可见
                this.Owner = f;//设置为main窗口的子窗口,main窗口关后,登录窗口也跟着关闭
                f.WindowState = FormWindowState.Maximized;//登录后,主窗口最大化
                f.Show();
            }

四、在主窗口实现“欢迎您,xxx”

效果图

image

代码:

重写Main窗口的构造函数

image

创建Main窗口时,将用户名传给构造函数

image

原文地址:https://www.cnblogs.com/wllhq/p/4341580.html