zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    oracle 11g 断电后 无法启动 ora 00600 kcratr_scan_lastbwr 修复小计
    arcgis for python (arcpy) 入门
    解决 构造函数 包含业务逻辑 IDE无法初始化界面的问题
    arcgis 10.1 发布 气温插值GP服务小计
    执行 Animation先决条件
    ASP.NET MVC3学习心得视图和模型
    Axure使用心得分享
    ASP.NET MVC3学习心得表单和HTML辅助方法
    ASP.NET MVC3学习心得入门和控制器
    WindowsPhone 中SQL CE数据库的使用
  • 原文地址:https://www.cnblogs.com/wllhq/p/4341580.html
Copyright © 2011-2022 走看看