在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → C#学生宿舍管理系统(含数据库文件)

C#学生宿舍管理系统(含数据库文件)

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:8.99M
  • 下载次数:312
  • 浏览次数:3808
  • 发布时间:2018-10-08
  • 实例类别:C#语言基础
  • 发 布 人:13573156105
  • 文件格式:.rar
  • 所需积分:2
 相关标签: C# 系统 c 管理 学生

实例介绍

【实例简介】C#学生宿舍管理系统,得安装水晶报表 否则会报错

【实例截图】

from clipboard

【核心代码】


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
using System.Drawing.Imaging;
using System.Collections;

namespace 学生宿舍管理系统
{
    public partial class frmMain : Form
    {

        public frmMain()
        {
            InitializeComponent();
            this.skinEngine1.SkinFile = "MP10.ssk";
            start = this.lstRepute.Location.X;
            y = this.Height - 40 - lstRepute.Height - 18;
        }
        public static int returnnum = 1;//定义一个切换角色的变量并给它赋一个具体值来调用主窗体的load事件中的调用登录窗体
        int start=0, finish = 0;//定义变量设置显示来回移动的lstRepute的位置
        int y=0;
        public static int stoptimermove = 1;//定义lstRepute的时间计时的启用
        public void hideTimer()//定义一个方法来禁用时间计时和lstRepute
        {
            lstRepute.Visible = false;
            timerMove.Enabled = false;

        }
        public void showButton()//定义隐藏控件的方法来区分角色
        {
            违规管理ToolStripMenuItem.Visible = false;
            用户管理ToolStripMenuItem1.Visible = false;
            数据维护ToolStripMenuItem.Visible = false;
            toolBarButton3.Visible = false;
        }
        public void showSort(string userSort)//通过判断角色来显示对应的操作控件
        {
            switch (userSort)
            {
                case "学生":
                    用户管理ToolStripMenuItem1.Visible = false;
                    数据维护ToolStripMenuItem.Visible = false;
                    管理员注册ToolStripMenuItem.Visible = false;
                    break;
                case "管理员":
                    break;
                case "教师":
                    showButton();
                    break;
            }

        }
        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void showRepute()//定义一个方法将卫生成绩填充到来回移动的lstRepute的表中
        {
            try
            {
                connection.con.Open();
                string num, score;
                int i = 0;
                string[] num1 = new string[] { "第一名", "第二名", "第三名", "第四名", "第五名" };
                SqlCommand cmd = new SqlCommand("select top 5 宿舍编号,总分 from 卫生统计表 order by 总分 desc", connection.con);
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    num = (string)dr[0];
                    score = (string)dr[1];
                    ListViewItem lst = new ListViewItem(num1[i]);
                    lstRepute.Items.Add(lst);
                    lst.SubItems.Add(num);
                    i  ;
                    lst.SubItems.Add(score);
                }
                dr.Close();
                connection.con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void mainFrom_Load(object sender, EventArgs e)
        {
            if (returnnum == 1)//调用登录窗体
            {
                timerMove.Enabled = false;//禁用计时器
                LogIn login = new LogIn();
                login.ShowDialog();

            }
            if (stoptimermove == 2)//通过对stoptimermove变量的赋值启用计时器
            {
                timerMove.Enabled = true;
            }
            tsslblUser.Text = "当前用户名:"   LogIn.getUser   "";//在状态栏或当前登录的角色以及当前时间和版本
            tsslblWelcome.Text = "  欢迎来到学生宿舍管理系统";
            tsslblType.Text = "  版本:"   System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            showSort(LogIn.showsort);//通过对登录窗体的变量showsort的赋值调用判断角色的方法
            showRepute();//调用显示lstRepute表的方法
        }
        private void mainFrom_SizeChanged(object sender, EventArgs e)
        {
            y = this.Height = 45 - lstRepute.Height - 10;//通对变量y的显示在当前窗体的为的设置
        }
        private void toolBar1_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
        {

            if (e.Button.Text == "查房统计")//通过选择toolBar中的控件进行调用窗体
            {
                hideTimer();
                DormSelect s = new DormSelect();
                s.MdiParent = this;
                s.Show();
                print.changePath = 3;//对水晶报表中设置的变量changePath进行赋值改变打印路径
            }
            if (e.Button.Text == "学分加减")
            {
                hideTimer();
                scoreAdd s = new scoreAdd();
                s.MdiParent = this;
                s.Show();
                print.changePath = 1;
            }
            if (e.Button.Text == "纪律管理统计")
            {
                hideTimer();
                DisciplineFrm f = new DisciplineFrm();
                f.MdiParent = this;
                f.Show();
                print.changePath = 4;
            }
            if (e.Button.Text == "卫生统计")
            {
                hideTimer();
                frmLookafer fl = new frmLookafer();
                fl.MdiParent = this;
                fl.Show();
                print.changePath = 2;
            }
            if (e.Button.Text == "宿舍报修")
            {
                hideTimer();
                dormRepair1 s = new dormRepair1();
                s.MdiParent = this;
                s.Show();
            }
            if (e.Button.Text == "退出系统")
            {
                Application.Exit();
            }
            if (e.Button.Text == "切换角色")
            {
                hideTimer();
                timerMove.Enabled = false;
                this.Visible = false;
                returnnum = 2;//通过改变returnnum的值,调用登录窗体,切换角色后,来限制主窗体的load事件中的调用登录窗体的代码
                LogIn s = new LogIn();
                s.ShowDialog();
                this.Close();
            }
            if (e.Button.Text == "管理")
            {
                hideTimer();
                administer s = new administer();
                s.MdiParent = this;
                s.Show();
            }
            if (e.Button.Text == "打印")//可以对调用任意的窗体实现打印
            {
                try
                {
                    print s = new print();
                    s.ShowDialog();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void 纪律管理统计录入ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.timerMove.Enabled = false;
        }

        private void 宿舍报修录入ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.timerMove.Enabled = false;

        }
        private void 宿舍楼录入ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.timerMove.Enabled = false;
        }

        private void 退出ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.timerMove.Enabled = false;
            this.Close();
        }
        private void 返回ToolStripMenuItem1_Click(object sender, EventArgs e)//和ToolBar控件中的'打印'功能一致
        {
            ActiveForm.Close();
            returnnum = 2;
            LogIn s = new LogIn();
            s.ShowDialog();
            this.Close();
        }
        private void timerMove_Tick(object sender, EventArgs e)//给lstRepute实现来回移动的功能
        {
            try
            {
                if (start > 0)
                {
                    start--;
                    lstRepute.Location = new Point(start, y);

                }
                else
                {
                    lstRepute.Location = new Point(finish, y);
                    finish  ;
                    if (finish == frmMain.ActiveForm.Width - 178)
                    {
                        finish = 0;
                        start = frmMain.ActiveForm.Width - 179;
                    }

                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void lblMove_MouseClick(object sender, MouseEventArgs e)
        {
            timerMove.Enabled = true;
        }

        private void lblMove_MouseEnter_1(object sender, EventArgs e)
        {
            timerMove.Enabled = false;
        }

        private void 文件ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            lstRepute.Visible = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            tsslblTime.Text = "当前时间:"   DateTime.Now.ToLongDateString()   DateTime.Now.ToLongTimeString();
        }
        private void 学分加减录入ToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            hideTimer();
            学分加减录入 s = new 学分加减录入();
            s.MdiParent = this;
            s.Show();
        }
        private void 查房统计录入ToolStripMenuItem1_Click_1(object sender, EventArgs e)
        {
            hideTimer();
            查房统计录入 frm = new 查房统计录入();
            frm.MdiParent = this;
            frm.Show();
        }

        private void 纪律管理统计录入ToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            hideTimer();
            frmRule1 d = new frmRule1();
            d.MdiParent = this;
            d.Show();
        }

        private void 主界面_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }

        private void 违规管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            hideTimer();
        }

        private void 用户管理ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            hideTimer();
        }

        private void listView1_MouseEnter(object sender, EventArgs e)
        {
            timerMove.Enabled = false;
        }

        private void listView1_MouseLeave(object sender, EventArgs e)
        {
            timerMove.Enabled = true;
        }

        private void 宿舍录入ToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            hideTimer();
            dromInformationAdd s = new dromInformationAdd();
            s.MdiParent = this;
            s.Show();
        }

        private void 宿舍报修录入ToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            hideTimer();
            Repair s = new Repair();
            s.MdiParent = this;
            s.Show();
        }

        private void 数据维护ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            hideTimer();
        }

        private void toolStripMenuItem3_Click_1(object sender, EventArgs e)
        {
            hideTimer();
            frmSanitation s = new frmSanitation();
            s.MdiParent = this;
            s.Show();
        }

        private void 管理员注册ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            hideTimer();
            administer s = new administer();
            s.MdiParent = this;
            s.Show();
        }
        private void tsmAbout_Click(object sender, EventArgs e)//调用关于
        {
            hideTimer();
            abount s = new abount();
            s.MdiParent = this;
            s.Show();
        }

        private void tsmHelp_Click(object sender, EventArgs e)//调用帮助主题
        {
            try { System.Diagnostics.Process.Start("mailto:273230766"); }
            catch (Exception) { MessageBox.Show("本机没有正确安装邮件客户端!","提示"); }
            //hideTimer();
            //Help.ShowHelp(this, @"StudentDorm.chm");
        }

        private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            hideTimer();
        }

        private void frmMain_MaximumSizeChanged(object sender, EventArgs e)
        {
            hideTimer();
        }

        private void changeFace(object sender, EventArgs e)
        {
            ToolStripMenuItem faceName = (ToolStripMenuItem)sender;
            switch (faceName.Text)
            {
                case "MP10":
                    this.skinEngine1.SkinFile = "MP10.ssk";
                    break;
                case "MSN":
                    this.skinEngine1.SkinFile = "MSN.ssk";
                    break;
                case "Vista2_color2":
                    this.skinEngine1.SkinFile = "Vista2_color2.ssk";
                    break;
                case "XPBlue":
                    this.skinEngine1.SkinFile = "XPBlue.ssk";
                    break;
                case "XPGreen":
                    this.skinEngine1.SkinFile = "XPGreen.ssk";
                    break;
            }
        }

        private void 更多自定义皮肤ToolStripMenuItem_Click(object sender, EventArgs e)
        {
                OpenFileDialog dlg = new OpenFileDialog();
                dlg.Title = "请选择皮肤文件,暂时只支持*.ssk皮肤";
                dlg.CheckFileExists = true;
                dlg.Filter = "ssk文件|*.ssk|所有文件|*.*";
                dlg.Multiselect = false;
                //string path_name = "";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    //string faceName = dlg.FileName;
                    this.skinEngine1.SkinFile = dlg.FileName;
                }
        }
       #region
////C# sql server数据库备份恢复原代码 
///// <summary>
///// 取得数据库服务器列表:
///// </summary>
///// <returns></returns>
//public ArrayList getserverlist()
//{
//ArrayList alservers = new ArrayList() ;
//Sqldmo.application sqlapp = new Sqldmo.applicationclass() ;
//try
//{
//Sqldmo.namelist serverlist = sqlapp.listavailablesqlservers() ;
//for(int i = 1;i<= serverlist.count;i  )
//{
//alservers.add(serverlist.item(i)) ;
//}
//}
//catch(Exception e)
//{
//throw(new Exception("取数据库服务器列表出错:" e.Message)) ;
//}
//finally
//{
//sqlapp.quit() ;
//}
//return alservers ;
//}

///// <summary>
///// 取得指定数据库服务器的数据库列表
///// </summary>
///// <param name="strservername"></param>
///// <param name="strusername"></param>
///// <param name="strpwd"></param>
///// <returns></returns>

//public ArrayList getdblist(string strservername,string strusername,string strpwd)
//{
//servername = strservername ;
//username = strusername ;
//password = strpwd ;

//ArrayList aldbs = new ArrayList() ;
//sqldmo.application sqlapp = new sqldmo.applicationclass() ;
//sqldmo.sqlserver svr = new sqldmo.sqlserverclass() ;
//try
//{
//svr.connect(servername,username,password) ;
//foreach(sqldmo.database db in svr.databases)
//{
//if(db.name!=null)
//aldbs.add(db.name) ;
//}
//}
//catch(Exception e)
//{
//throw(new Exception("连接数据库出错:" e.Message)) ;
//}
//finally
//{
//svr.disconnect() ;
//sqlapp.quit() ;
//}
//return aldbs ;
//}

///// <summary>
///// 数据库的备份和实时进度显示代码:
///// </summary>
///// <param name="strdbname"></param>
///// <param name="strfilename"></param>
///// <param name="pgbmain"></param>
///// <returns></returns>
 

//public bool backupdb(string strdbname,string strfilename, progressbar pgbmain)
//{
//pbar = pgbmain ;
//sqldmo.sqlserver svr = new sqldmo.sqlserverclass() ;
//try
//{
//svr.connect(servername,username,password) ;
//sqldmo.backup bak = new sqldmo.backupclass();
//bak.action = 0 ;
//bak.initialize = true ;
//sqldmo.backupsink_percentcompleteeventhandler pceh = new sqldmo.backupsink_percentcompleteeventhandler(step);
//bak.percentcomplete  = pceh;
//bak.files = strfilename;
//bak.database = strdbname;
//bak.sqlbackup(svr);
//return true ;
//}
//catch(Exception err)
//{
//throw(new Exception("备份数据库失败" err.Message)) ;
//}
//finally
//{
//svr.disconnect() ;
//}
//}

//private void step(string message,int percent)
//{
//pbar.value = percent ;
//}

////其中,这两个语句实现了进度的实时显示:
//sqldmo.backupsink_percentcompleteeventhandler pceh = new sqldmo.backupsink_percentcompleteeventhandler(step);
//bak.percentcomplete  = pceh;
////step就是上面private void step(string message,int percent) 的方法名称,它用来显示进度条的当前进度。


///// <summary>
///// 数据库的恢复和杀死进程的代码:
///// </summary>
///// <param name="strdbname"></param>
///// <param name="strfilename"></param>
///// <param name="pgbmain"></param>
///// <returns></returns>


//public bool restoredb(string strdbname,string strfilename, progressbar pgbmain)
//{
//pbar = pgbmain ;
//sqldmo.sqlserver svr = new sqldmo.sqlserverclass() ;
//try
//{
//svr.connect(servername,username,password) ;
//sqldmo.queryresults qr = svr.enumprocesses(-1) ;
//int icolpidnum = -1 ;
//int icoldbname = -1 ;
//for(int i=1;i<=qr.columns;i  )
//{
//string strname = qr.get_columnname(i) ;
//if (strname.toupper().trim() == "spid")
//{
//icolpidnum = i ;
//}
//else if (strname.toupper().trim() == "dbname")
//{
//icoldbname = i ;
//}
//if (icolpidnum != -1 && icoldbname != -1)
//break ;
//}

//for(int i=1;i<=qr.rows;i  )
//{
//int lpid = qr.getcolumnlong(i,icolpidnum) ;
//string strdbname = qr.getcolumnstring(i,icoldbname) ;
//if (strdbname.toupper() == strdbname.toupper())
//svr.killprocess(lpid) ;
//}

//sqldmo.restore res = new sqldmo.restoreclass() ;
//res.action = 0 ;
//sqldmo.restoresink_percentcompleteeventhandler pceh = new sqldmo.restoresink_percentcompleteeventhandler(step);
//res.percentcomplete  = pceh;
//res.files = strfilename ;

//res.database = strdbname ;
//res.replacedatabase = true ;
//res.sqlrestore(svr) ;
//return true ;
//}
//catch(exception err)
//{
//throw(new exception("恢复数据库失败,请关闭所有和该数据库连接的程序!" err.message)) ;
//}
//finally
//{
//svr.disconnect() ;
//}
//}

////其中这个语句取得了所有的进程列表:
//sqldmo.queryresults qr = svr.enumprocesses(-1) ;

////下面的语句找到和要恢复数据库相关的进程并杀死:
//int icolpidnum = -1 ;
//int icoldbname = -1 ;
//for(int i=1;i<=qr.columns;i  )
//{
//string strname = qr.get_columnname(i) ;
//if (strname.toupper().trim() == "spid")
//{
//icolpidnum = i ;
//}
//else if (strname.toupper().trim() == "dbname")
//{
//icoldbname = i ;
//}
//if (icolpidnum != -1 && icoldbname != -1)
//break ;
//}

//for(int i=1;i<=qr.rows;i  )
//{
//int lpid = qr.getcolumnlong(i,icolpidnum) ;
//string strdbname = qr.getcolumnstring(i,icoldbname) ;
//if (strdbname.toupper() == strdbname.toupper())
//svr.killprocess(lpid) ;
//} 
     #endregion
       #region
//        public static void DbBackup()
//  {
//   SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
//   SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass

//();
//   try
//   {
//    oSQLServer.LoginSecure = false;
//    oSQLServer.Connect("localhost", "sa", "1234");
//    oBackup.Action = 

//SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
//    oBackup.Database = "Northwind";
//    oBackup.Files = @"d:\Northwind.bak";
//    oBackup.BackupSetName = "Northwind";
//    oBackup.BackupSetDescription = "数据库备份";
//    oBackup.Initialize = true;
//    oBackup.SQLBackup(oSQLServer);
//   }
//   catch
//   {
//    throw;
//   }
//   finally
//   {
//    oSQLServer.DisConnect();
//   }
//  }

//  /// <summary>
//  /// 数据库恢复
//  /// </summary>
//  public static void DbRestore()
//  {
//   SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
//   SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass

//();
//   try
//   {
//    oSQLServer.LoginSecure = false;
//    oSQLServer.Connect("localhost", "sa", "1234");
//    oRestore.Action = 

//SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
//    oRestore.Database = "Northwind";
//    oRestore.Files = @"d:\Northwind.bak";
//    oRestore.FileNumber = 1;
//    oRestore.ReplaceDatabase = true;
//    oRestore.SQLRestore(oSQLServer);
//   }
//   catch
//   {
//    throw;
//   }
//   finally
//   {
//    oSQLServer.DisConnect();
//   }
//  }
// }
        #endregion
    }
}


标签: C# 系统 c 管理 学生

实例下载地址

C#学生宿舍管理系统(含数据库文件)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警