WEB开发网
开发学院软件开发C语言 利用C#开发科技档案管理系统(三) 阅读

利用C#开发科技档案管理系统(三)

 2009-02-27 08:18:17 来源:WEB开发网   
核心提示:一、 主要功能模块设计1.系统登录设计 系统登录主要用于对进入科技档案管理系统的用户进行安全性检查,以防止非法用户进入系统,利用C#开发科技档案管理系统(三),只有合法的用户,才可以进入系统,并给予相应的权限,否则提示用户非法登录,同时根据管理员分配的权限,给予操作员相应的操作权限

一、             主要功能模块设计

1.系统登录设计

系统登录主要用于对进入科技档案管理系统的用户进行安全性检查,以防止非法用户进入系统。只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予操作员相应的操作权限。本系统开发模式采用隔离驱动模式,验证操作员及其密码,主要通过业务层的Login方法,如果操作员符合则允许登陆录,并给予相应的权限,否则提示用户非法登录。(1)系统登录运行结果如图5所示。

利用C#开发科技档案管理系统(三)

图5 系统登录窗体

(2)主要代码设计

private void btnLogin_Click(object sender, EventArgs e)

        {

            BaseClass.ClsComm.Str_IP = "";              //服务器IP -- 默认是本机

            if (TxtUserName.Text == string.Empty)

            {

                MessageBox.Show("用户名称不能为空!", "提示...", MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;

            }

            //获取用户名与IP

            BaseClass.ClsComm.Str_UserName = TxtUserName.Text.Trim();  //保存-- 用户名

            BaseClass.ClsComm.Str_IP = CmbIP.Text.Trim();              //保存-- 服务器IP

            DataSet ds = null;

            MyPower.MySysUser = TxtUserName.Text.Trim();

            MyPower.MyPassWord = TxtPwd.Text.Trim();

            ds = MySQL.Login(MyPower);

 

            if (ds.Tables[0].Rows.Count > 0)

            {

                FrmMain Frm_Main = new FrmMain();   //启动主窗口

                Frm_Main.Show();

                //获取用户权限

                if (Convert.ToBoolean(ds.Tables[0].Rows[0]["SysPower"]))    //系统管理权

                {

                    BaseClass.ClsComm.Int_SysPower = 1;    // 1 – 有权限

                }

                else

                {

                    BaseClass.ClsComm.Int_SysPower = 0;  // 0 – 无权限

                }

                if (Convert.ToBoolean(ds.Tables[0].Rows[0]["AddPower"]))   // 增加权限

                {

                    BaseClass.ClsComm.Int_AddPower = 1;

                }

                else

                {

                    BaseClass.ClsComm.Int_AddPower = 0;

                }

               //注:此处省略了类似的语句

                this.Visible = false; //登录窗口不可见

                //设置自动编号---- 注意:保存数据时,才生成新ID 号

                DataSet ds2 = null;

                int NewId_Int = 1;

                ds2 = MySQL.Get_Login_Info("tb_Login");      //登录表-- 升序

                if (ds2.Tables[0].Rows.Count == 0)

                {

                    MyLogin.MyId = NewId_Int;

                }

                else

                {

                    for (int i = 1; i <= ds2.Tables[0].Rows.Count; i++)    //Id号回收算法

                    {

                        NewId_Int = Convert.ToInt32(ds2.Tables[0].Rows[i - 1]["Id"]);  //转化为位符号整数

                        if (NewId_Int == i)

                        {

                            NewId_Int = i + 1;

                        }

                        else

                        {

                            NewId_Int = i;

                            break;

                        }

                    }

                    MyLogin.MyId = NewId_Int;

                }

                BaseClass.ClsComm.Login_Id = MyLogin.MyId;    //保存-- Login_Id(全局变量)

                MyLogin.MyLogName = BaseClass.ClsComm.Str_UserName; //用户名

                MyLogin.MyLogTime = DateTime.Now.ToString();        //登录时间

                MyLogin.MyLogOut = "";

                MyLogin.MyLogYN = "N";

                MyLogin.MyLogMemo = "正在使用";

                int Id = MySQL.Add_Login_Data(MyLogin);             //保存登录信息

            }

            else

            {

                MessageBox.Show("用户姓名或密码不正确!", "提示...", MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;

            }

}

1 2 3 4 5 6  下一页

Tags:利用 开发 科技

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接